├── AUTHORS ├── server ├── favicon.ico ├── images │ ├── logo2.png │ ├── browser.png │ ├── db-ten.dia │ ├── db-ten.png │ ├── flag-ar.png │ ├── flag-ca.png │ ├── flag-csb.png │ ├── flag-da.png │ ├── flag-de.png │ ├── flag-el.png │ ├── flag-en.png │ ├── flag-es.png │ ├── flag-fi.png │ ├── flag-fr.png │ ├── flag-fy.png │ ├── flag-gl.png │ ├── flag-he.png │ ├── flag-hu.png │ ├── flag-it.png │ ├── flag-ka.png │ ├── flag-ko.png │ ├── flag-pl.png │ ├── flag-sk.png │ ├── flag-sl.png │ ├── flag-sq.png │ ├── flag-sr.png │ ├── flag-sv.png │ ├── flag-uk.png │ ├── kde-logo.png │ ├── logo2-sr.png │ ├── oo-logo.png │ ├── bg-bottom.png │ ├── flag-pt_br.png │ ├── gnome-logo.png │ ├── logo-mini.png │ ├── pompelyts.png │ ├── suse-logo.png │ ├── xfce-logo.png │ ├── api-example.png │ ├── debian-logo.png │ ├── fedora-logo.png │ ├── flag-be_latin.png │ ├── flag-sr_latn.png │ ├── gadget-shot.png │ ├── gadget-thumb.png │ ├── inkscape-logo.png │ ├── logo2-sr_latn.png │ ├── mandriva-logo.png │ ├── mozilla-logo.png │ ├── open-search.png │ ├── sel-flag-ar.png │ ├── sel-flag-ca.png │ ├── sel-flag-csb.png │ ├── sel-flag-da.png │ ├── sel-flag-de.png │ ├── sel-flag-el.png │ ├── sel-flag-en.png │ ├── sel-flag-es.png │ ├── sel-flag-fi.png │ ├── sel-flag-fr.png │ ├── sel-flag-fy.png │ ├── sel-flag-gl.png │ ├── sel-flag-he.png │ ├── sel-flag-hu.png │ ├── sel-flag-it.png │ ├── sel-flag-ka.png │ ├── sel-flag-ko.png │ ├── sel-flag-pl.png │ ├── sel-flag-sk.png │ ├── sel-flag-sl.png │ ├── sel-flag-sq.png │ ├── sel-flag-sr.png │ ├── sel-flag-sv.png │ ├── sel-flag-uk.png │ ├── addbookmark-ar.png │ ├── addbookmark-ca.png │ ├── addbookmark-de.png │ ├── addbookmark-el.png │ ├── addbookmark-en.png │ ├── addbookmark-fi.png │ ├── addbookmark-fr.png │ ├── addbookmark-hu.png │ ├── addbookmark-it.png │ ├── addbookmark-ka.png │ ├── addbookmark-pl.png │ ├── addbookmark-sk.png │ ├── addbookmark-sl.png │ ├── addbookmark-sr.png │ ├── addbookmark-uk.png │ ├── open-search-sr.png │ ├── sel-flag-pt_br.png │ ├── addbookmark-pt_br.png │ ├── sel-flag-be_latin.png │ ├── sel-flag-sr_latn.png │ ├── addbookmark-sr_latn.png │ ├── open-search-sr_latn.png │ └── screenshot-substring.png ├── contact.html ├── robots.txt ├── gl │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── csb │ ├── kontakt.html │ ├── poco.html │ ├── pomoc.html │ └── template.html ├── ko │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── pl │ ├── kontakt.html │ ├── poco.html │ └── pomoc.html ├── sk │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── sl │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── hu │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── sq │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── fi │ ├── yhteystiedot.html │ ├── miksi.html │ └── opaste.html ├── da │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── he │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── sv │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── fy │ ├── kontakt.html │ ├── whatfor.html │ └── help.html ├── start.sh ├── de │ ├── kontakt.html │ ├── wozu.html │ ├── hilfe.html │ └── template.html ├── en │ ├── contact.html │ ├── whatfor.html │ ├── help.html │ └── template.html ├── ka │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── fr │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── es │ ├── contacto.html │ ├── que.html │ ├── ayuda.html │ └── template.html ├── it │ ├── contatti.html │ ├── info.html │ └── aiuto.html ├── be_latin │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── search.xml ├── pt_br │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── uk │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── ar │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── ca │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── el │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── sr │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── sr_latn │ ├── contact.html │ ├── whatfor.html │ └── help.html ├── netvibes.xhtml ├── server.py ├── save_as.js └── db.html ├── import ├── update.conf.sample ├── sqlite3-wrapper.py ├── update-all.sh ├── update-svn.sh ├── update-gnome.sh ├── update-switch.sh ├── update-xfce.sh ├── update-fedora.sh ├── update-kde.sh ├── step1.sql ├── import_db_init.py ├── update-oo.sh ├── update-local.sh ├── import_step1a.py ├── step2.sql ├── audit_step2.py ├── update-mozilla.sh └── update-steps.sh ├── old ├── client.py ├── find.sql ├── load.py ├── next_word.sql └── find.py ├── config.mak.example ├── Makefile ├── README ├── lib ├── stem │ ├── api.py │ └── __init__.py ├── tran.i ├── Makefile ├── phrase.h └── hash.h └── gui ├── Fetch.py └── Settings.py /AUTHORS: -------------------------------------------------------------------------------- 1 | Jacek Śliwerski (rzyjontko) - http://sliwerski.net 2 | -------------------------------------------------------------------------------- /server/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/favicon.ico -------------------------------------------------------------------------------- /server/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/logo2.png -------------------------------------------------------------------------------- /server/images/browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/browser.png -------------------------------------------------------------------------------- /server/images/db-ten.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/db-ten.dia -------------------------------------------------------------------------------- /server/images/db-ten.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/db-ten.png -------------------------------------------------------------------------------- /server/images/flag-ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-ar.png -------------------------------------------------------------------------------- /server/images/flag-ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-ca.png -------------------------------------------------------------------------------- /server/images/flag-csb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-csb.png -------------------------------------------------------------------------------- /server/images/flag-da.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-da.png -------------------------------------------------------------------------------- /server/images/flag-de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-de.png -------------------------------------------------------------------------------- /server/images/flag-el.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-el.png -------------------------------------------------------------------------------- /server/images/flag-en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-en.png -------------------------------------------------------------------------------- /server/images/flag-es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-es.png -------------------------------------------------------------------------------- /server/images/flag-fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-fi.png -------------------------------------------------------------------------------- /server/images/flag-fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-fr.png -------------------------------------------------------------------------------- /server/images/flag-fy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-fy.png -------------------------------------------------------------------------------- /server/images/flag-gl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-gl.png -------------------------------------------------------------------------------- /server/images/flag-he.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-he.png -------------------------------------------------------------------------------- /server/images/flag-hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-hu.png -------------------------------------------------------------------------------- /server/images/flag-it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-it.png -------------------------------------------------------------------------------- /server/images/flag-ka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-ka.png -------------------------------------------------------------------------------- /server/images/flag-ko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-ko.png -------------------------------------------------------------------------------- /server/images/flag-pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-pl.png -------------------------------------------------------------------------------- /server/images/flag-sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-sk.png -------------------------------------------------------------------------------- /server/images/flag-sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-sl.png -------------------------------------------------------------------------------- /server/images/flag-sq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-sq.png -------------------------------------------------------------------------------- /server/images/flag-sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-sr.png -------------------------------------------------------------------------------- /server/images/flag-sv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-sv.png -------------------------------------------------------------------------------- /server/images/flag-uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-uk.png -------------------------------------------------------------------------------- /server/images/kde-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/kde-logo.png -------------------------------------------------------------------------------- /server/images/logo2-sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/logo2-sr.png -------------------------------------------------------------------------------- /server/images/oo-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/oo-logo.png -------------------------------------------------------------------------------- /server/images/bg-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/bg-bottom.png -------------------------------------------------------------------------------- /server/images/flag-pt_br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-pt_br.png -------------------------------------------------------------------------------- /server/images/gnome-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/gnome-logo.png -------------------------------------------------------------------------------- /server/images/logo-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/logo-mini.png -------------------------------------------------------------------------------- /server/images/pompelyts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/pompelyts.png -------------------------------------------------------------------------------- /server/images/suse-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/suse-logo.png -------------------------------------------------------------------------------- /server/images/xfce-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/xfce-logo.png -------------------------------------------------------------------------------- /server/images/api-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/api-example.png -------------------------------------------------------------------------------- /server/images/debian-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/debian-logo.png -------------------------------------------------------------------------------- /server/images/fedora-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/fedora-logo.png -------------------------------------------------------------------------------- /server/images/flag-be_latin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-be_latin.png -------------------------------------------------------------------------------- /server/images/flag-sr_latn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/flag-sr_latn.png -------------------------------------------------------------------------------- /server/images/gadget-shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/gadget-shot.png -------------------------------------------------------------------------------- /server/images/gadget-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/gadget-thumb.png -------------------------------------------------------------------------------- /server/images/inkscape-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/inkscape-logo.png -------------------------------------------------------------------------------- /server/images/logo2-sr_latn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/logo2-sr_latn.png -------------------------------------------------------------------------------- /server/images/mandriva-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/mandriva-logo.png -------------------------------------------------------------------------------- /server/images/mozilla-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/mozilla-logo.png -------------------------------------------------------------------------------- /server/images/open-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/open-search.png -------------------------------------------------------------------------------- /server/images/sel-flag-ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-ar.png -------------------------------------------------------------------------------- /server/images/sel-flag-ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-ca.png -------------------------------------------------------------------------------- /server/images/sel-flag-csb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-csb.png -------------------------------------------------------------------------------- /server/images/sel-flag-da.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-da.png -------------------------------------------------------------------------------- /server/images/sel-flag-de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-de.png -------------------------------------------------------------------------------- /server/images/sel-flag-el.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-el.png -------------------------------------------------------------------------------- /server/images/sel-flag-en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-en.png -------------------------------------------------------------------------------- /server/images/sel-flag-es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-es.png -------------------------------------------------------------------------------- /server/images/sel-flag-fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-fi.png -------------------------------------------------------------------------------- /server/images/sel-flag-fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-fr.png -------------------------------------------------------------------------------- /server/images/sel-flag-fy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-fy.png -------------------------------------------------------------------------------- /server/images/sel-flag-gl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-gl.png -------------------------------------------------------------------------------- /server/images/sel-flag-he.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-he.png -------------------------------------------------------------------------------- /server/images/sel-flag-hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-hu.png -------------------------------------------------------------------------------- /server/images/sel-flag-it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-it.png -------------------------------------------------------------------------------- /server/images/sel-flag-ka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-ka.png -------------------------------------------------------------------------------- /server/images/sel-flag-ko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-ko.png -------------------------------------------------------------------------------- /server/images/sel-flag-pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-pl.png -------------------------------------------------------------------------------- /server/images/sel-flag-sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-sk.png -------------------------------------------------------------------------------- /server/images/sel-flag-sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-sl.png -------------------------------------------------------------------------------- /server/images/sel-flag-sq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-sq.png -------------------------------------------------------------------------------- /server/images/sel-flag-sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-sr.png -------------------------------------------------------------------------------- /server/images/sel-flag-sv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-sv.png -------------------------------------------------------------------------------- /server/images/sel-flag-uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-uk.png -------------------------------------------------------------------------------- /server/images/addbookmark-ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-ar.png -------------------------------------------------------------------------------- /server/images/addbookmark-ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-ca.png -------------------------------------------------------------------------------- /server/images/addbookmark-de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-de.png -------------------------------------------------------------------------------- /server/images/addbookmark-el.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-el.png -------------------------------------------------------------------------------- /server/images/addbookmark-en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-en.png -------------------------------------------------------------------------------- /server/images/addbookmark-fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-fi.png -------------------------------------------------------------------------------- /server/images/addbookmark-fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-fr.png -------------------------------------------------------------------------------- /server/images/addbookmark-hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-hu.png -------------------------------------------------------------------------------- /server/images/addbookmark-it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-it.png -------------------------------------------------------------------------------- /server/images/addbookmark-ka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-ka.png -------------------------------------------------------------------------------- /server/images/addbookmark-pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-pl.png -------------------------------------------------------------------------------- /server/images/addbookmark-sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-sk.png -------------------------------------------------------------------------------- /server/images/addbookmark-sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-sl.png -------------------------------------------------------------------------------- /server/images/addbookmark-sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-sr.png -------------------------------------------------------------------------------- /server/images/addbookmark-uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-uk.png -------------------------------------------------------------------------------- /server/images/open-search-sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/open-search-sr.png -------------------------------------------------------------------------------- /server/images/sel-flag-pt_br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-pt_br.png -------------------------------------------------------------------------------- /server/images/addbookmark-pt_br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-pt_br.png -------------------------------------------------------------------------------- /server/images/sel-flag-be_latin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-be_latin.png -------------------------------------------------------------------------------- /server/images/sel-flag-sr_latn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/sel-flag-sr_latn.png -------------------------------------------------------------------------------- /server/images/addbookmark-sr_latn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/addbookmark-sr_latn.png -------------------------------------------------------------------------------- /server/images/open-search-sr_latn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/open-search-sr_latn.png -------------------------------------------------------------------------------- /server/images/screenshot-substring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zen/open-tran/master/server/images/screenshot-substring.png -------------------------------------------------------------------------------- /server/contact.html: -------------------------------------------------------------------------------- 1 |

Contact

2 |

3 | If you need any assistance, do not hesitate to send me an e-mail (sliwers@googlemail.com). 4 |

-------------------------------------------------------------------------------- /server/robots.txt: -------------------------------------------------------------------------------- 1 | User-Agent: * 2 | Disallow: /suggest 3 | Disallow: /setlang 4 | Disallow: /compare 5 | Disallow: /json 6 | Disallow: /words.html 7 | -------------------------------------------------------------------------------- /import/update.conf.sample: -------------------------------------------------------------------------------- 1 | toolkit_path="/usr/lib/python2.5/site-packages" 2 | data_root="/media/disk-1/sliwers/projekty/open-tran-data" 3 | log_dir="/tmp" 4 | -------------------------------------------------------------------------------- /old/client.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.4 2 | # -*- coding: utf-8 -*- 3 | 4 | from suggest import TranDB 5 | 6 | db = TranDB("C") 7 | db.suggest("couldn't convert from %s to %s", "pl") 8 | -------------------------------------------------------------------------------- /server/gl/contact.html: -------------------------------------------------------------------------------- 1 |

Contactar

2 |

3 | Se precisa axuda, non dubide en enviarme un correo electrónico 4 | open-tran@googlegroups.com. 5 |

6 | -------------------------------------------------------------------------------- /server/csb/kontakt.html: -------------------------------------------------------------------------------- 1 |

Kòntakt

2 |

3 | Cos nie dzejô? Cos dzejô lëchò? Môsz jaką dbã? Chcesz pòmóc? Piszë do mie na adresã: open-tran@googlegroups.com. 4 |

5 | -------------------------------------------------------------------------------- /server/ko/contact.html: -------------------------------------------------------------------------------- 1 |

연락처

2 |

3 | 사용중에 문제나 버그에 대한 보고, 제안이나 도움 제공, 4 | 자국어로 이 사이트의 내용 번역 등에 대해 문의하려면 5 | open-tran@googlegroups.com으로 이메일을 보내주십시오. 6 |

7 | -------------------------------------------------------------------------------- /import/sqlite3-wrapper.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | from pysqlite2 import dbapi2 as sqlite 4 | import sys 5 | 6 | conn = sqlite.connect(sys.argv[1]) 7 | cursor = conn.cursor() 8 | script = sys.stdin.read() 9 | cursor.executescript(script) 10 | conn.commit() 11 | -------------------------------------------------------------------------------- /server/pl/kontakt.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Coś nie działa? Coś działa nie tak? Masz jakiś pomysł? Chcesz 4 | pomóc? Pisz do nas na adres: open-tran@googlegroups.com. 5 |

6 | -------------------------------------------------------------------------------- /server/sk/contact.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Niečo nie je v poriadku? Našli ste chybu? Máte nápad? Chcete pomôcť? 4 | Neváhajte a napíšte e-mail na open-tran@googlegroups.com. 5 |

6 | -------------------------------------------------------------------------------- /server/sl/contact.html: -------------------------------------------------------------------------------- 1 |

Stik

2 |

3 | Ali Je kaj narobe? Ste našli hrošča? Imate ideje? Bi radi pomagali? 4 | Pošljite elektronsko sporočilo na open-tran@googlegroups.com. 5 |

6 | -------------------------------------------------------------------------------- /server/hu/contact.html: -------------------------------------------------------------------------------- 1 |

Elérhetőség

2 |

3 | Valami nem jó? Hibát talált? Van ötlete? Szeretne segíteni?
4 | Küldjön e-mailt az alábbi címre: open-tran@googlegroups.com. 5 |

6 | -------------------------------------------------------------------------------- /server/sq/contact.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Diçka gabim? Gjetët një të metë? Ndonjë ide? Doni të ndihmoni? 4 | Mos ngurroni të na dërgoni një e-mail te open-tran@googlegroups.com. 5 |

6 | -------------------------------------------------------------------------------- /import/update-all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . /home/leonardof/ot.leonardof.org/import/update.conf 4 | 5 | export LC_ALL=C 6 | export PATH=$PATH:$data_root/../import 7 | 8 | svn up $data_root/../lib > /dev/null 2>&1 9 | svn up $data_root/../import > /dev/null 2>&1 10 | 11 | update-steps.sh 12 | -------------------------------------------------------------------------------- /server/fi/yhteystiedot.html: -------------------------------------------------------------------------------- 1 |

Yhteystiedot

2 | 3 |

Onko jokin pielessä? Löysitkö vian? Onko ideoita? Haluatko auttaa? 4 | Lähetä sähköpostia englanniksi osoitteeseen: 5 | open-tran@googlegroups.com.

6 | -------------------------------------------------------------------------------- /server/da/contact.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Noget galt? Fundet en fejl? Har du ideer? Vil du hjælpe? 4 | Vil du oversætte dette site til dit eget sprog? 5 | Så send en mail til open-tran@googlegroups.com. 6 |

7 | -------------------------------------------------------------------------------- /server/he/contact.html: -------------------------------------------------------------------------------- 1 |

צור קשר

2 |

3 | משהו אינו כשורה? מצאת תקלה? יש רעיונות? מעוניין לעזור? 4 | מעוניין לתרגם אתר זה לשפת האם שלך? 5 | הרגש חופשי ליצור קשר דרך הכתובת open-tran@googlegroups.com. 6 |

7 | -------------------------------------------------------------------------------- /server/sv/contact.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Är något fel? Hittat en bugg? Har du idéer? Vill du hjälpa till? 4 | Vill du översätta sajten till ditt eget språk? 5 | Skriv till open-tran@googlegroups.com. 6 |

7 | -------------------------------------------------------------------------------- /server/fy/kontakt.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Is der wat mis? In brek fûn? Ideeën?
Fiel jo frij in e-berjocht te stjoeren nei open-tran@googlegroups.com. 4 |

5 | Fryske oersetting: C. Jousma -- Feanwâlden.

6 | -------------------------------------------------------------------------------- /server/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd `dirname $0` 4 | export PYTHONPATH=../lib 5 | 6 | if [[ -f server.pid ]]; then 7 | RUNNING=`cat server.pid` 8 | if kill -0 $RUNNING 2> /dev/null; then 9 | exit 0 10 | fi 11 | fi 12 | 13 | nohup authbind python server.py > /tmp/ot.out 2> /tmp/ot.err & 14 | -------------------------------------------------------------------------------- /server/de/kontakt.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Hast Du Fehler bemerkt? Hat etwas nicht funktioniert? Hast Du neue Ideen oder Vorschläge? Willst Du helfen? Dann lass es mich wissen und schreibe mir eine Mail: open-tran@googlegroups.com. 4 |

5 | 6 | -------------------------------------------------------------------------------- /server/en/contact.html: -------------------------------------------------------------------------------- 1 |

Contact

2 |

3 | Something's wrong? Found a bug? Any ideas? Want to help? 4 | Want to translate this site into your native language? 5 | Feel free to send an e-mail to open-tran@googlegroups.com. 6 |

7 | -------------------------------------------------------------------------------- /server/ka/contact.html: -------------------------------------------------------------------------------- 1 |

კონტაქტი

2 |

3 | დაშავდა რამე? აღმოაჩინეთ შეცდომა? გაგიჩნდათ რაიმე იდეა? გნებავთ დახმარება? 4 | გსურთ ამ საიტის თქვენს მშობლიურ ენაზე თარგმნა? 5 | მაშ, გამოგვიგზავნეთ ელფოსტა open-tran@googlegroups.com მისამართზე. 6 |

7 | -------------------------------------------------------------------------------- /server/fr/contact.html: -------------------------------------------------------------------------------- 1 |

Contact

2 |

Une anomalie, un bogue 3 | à signaler ? Une requête à 4 | formuler ? Vous souhaitez proposer votre 5 | aide ? N'hésitez 6 | pas à envoyer un courriel à 7 | open-tran@googlegroups.com.

8 | -------------------------------------------------------------------------------- /server/es/contacto.html: -------------------------------------------------------------------------------- 1 |

Contacto

2 |

3 | ¿Has encontrado un error? ¿Hay algo que no funciona o que funciona mal? ¿Tienes ideas o sugerencias para mejorar Open-Tran.eu? ¿Querrías ayudar con este proyecto? Mándame un e-mail a: open-tran@googlegroups.com. 4 |

5 | 6 | -------------------------------------------------------------------------------- /config.mak.example: -------------------------------------------------------------------------------- 1 | # -*- Makefile -*- 2 | # This is an example config.mak file. Please, copy it as config.mak 3 | # and adjust the settings to your needs. 4 | 5 | Q = @ 6 | 7 | PYTHON = /usr/include/python2.4 8 | SQLITE = /home/sliwers/dl/soft/build 9 | 10 | CFLAGS = -O3 11 | #CFLAGS = -O0 -ggdb 12 | 13 | DEFINES = 14 | #DEFINES = -DXMALLOC_DEBUG -DXMALLOC_DEPTH=4 15 | 16 | -------------------------------------------------------------------------------- /server/it/contatti.html: -------------------------------------------------------------------------------- 1 |

Contatti

2 |

3 | Qualcosa non funziona? Hai trovato un bug? Hai qualche idea? Vuoi dare una mano? 4 | Spedisci una e-mail in inglese a: open-tran@googlegroups.com.
5 | Oppure, se non parli inglese, scrivi a: nicola@kde-it.org. 6 |

7 | -------------------------------------------------------------------------------- /server/be_latin/contact.html: -------------------------------------------------------------------------------- 1 |

Kantakt

2 |

3 | Niešta nie pracuje? Pracuje, ale nia tak? U ciabie ideja? 4 | Ty chočaš dapamahčy? Napišy na adras: open-tran@googlegroups.com. 5 |

6 |

7 | Pierakłaŭ Alaksandar 'Zołak' Navicki. Zaŭvahi adnosna hetaha 8 | pierakładu dasyłajcie na: lacinka@gmail.com 9 |

10 | 11 | -------------------------------------------------------------------------------- /server/search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Open-Tran.eu // consistency matters 4 | utf-8 5 | http://open-tran.eu/favicon.ico 6 | 8 | /> 9 | 10 | -------------------------------------------------------------------------------- /server/pt_br/contact.html: -------------------------------------------------------------------------------- 1 |

Contato

2 |

3 | Encontrou algo errado? Algum erro? Idéias? Quer ajudar? Deseja ajudar com a tradução desta página? 4 | Estou à sua disposição! Mensagens em Português podem ser enviadas para Og Maciel <ogmaciel@gnome.org>. 5 | Fique à vontade para nos enviar um e-mail no endereço open-tran@googlegroups.com. 6 |

7 | -------------------------------------------------------------------------------- /server/uk/contact.html: -------------------------------------------------------------------------------- 1 |

Контакти

2 |

3 | Щось не працює як слід? Знайшли помилку? Маєте нові ідеї? Хочете допомогти? 4 | Надішліть електронного листа на цю адресу open-tran@googlegroups.com. 5 |

6 |

7 | Переклав на українську: Іван Петрущак
8 | Зауваження щодо перекладу надсилайте на адресу: ivanpetrouchtchak на yahoo.com або на форум linux.org.ua 9 |

10 | -------------------------------------------------------------------------------- /server/ar/contact.html: -------------------------------------------------------------------------------- 1 |
2 |

Contact

3 |

4 | هل تواجه أية مشكلة؟ هل وجدت عطلاً ما؟ أو هل ترغب في المساعدة؟ 5 | هل ترغب في ترجمة هذا الموقع إلى لغتك الأم؟ 6 | لا تتردد في التواصل معنا على البريد الإلكتروني open-tran@googlegroups.com.
7 | لأي استفسار حول الترجمة إلى العربية لا تتردد في إرسال بريد إلكتروني إلى (عبدالله الشيخ حسن) على 8 | abdallah82@gmail.com

9 |
10 | 11 | -------------------------------------------------------------------------------- /server/ca/contact.html: -------------------------------------------------------------------------------- 1 |

Contacte

2 |

3 | Alguna cosa està malament? Has trobat alguna errada? Has tingut una idea? Vols ajudar? 4 | Vols traduir aquesta pàgina web a la teva llengua materna? 5 | No dubtis en enviar un missatge de correu electrònic a open-tran@googlegroups.com o, si es per un 6 | problema amb la traducció al català, a webmaster[ARROVA]eurion[PUNT]net. 7 |

8 | -------------------------------------------------------------------------------- /server/el/contact.html: -------------------------------------------------------------------------------- 1 |

Επικοινωνία

2 |

3 | Υπάρχει κάποιο πρόβλημα; Βρήκατε κάποιο σφάλμα; Έχετε κάποια ιδέα; Θέλετε να βοηθήσετε; 4 | Μπορείτε να στείλετε ένα e-mail στη διεύθυνση 5 | open-tran@googlegroups.com. 6 |
7 | Βρήκατε κάποιο λάθος στην μετάφραση; 8 | Στείλτε ένα e-mail στη διεύθυνση 9 | ftsamis@gmail.com 10 |

11 | -------------------------------------------------------------------------------- /import/update-svn.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | data_root="$1" 6 | proj_name="$2" 7 | url="$3" 8 | svn_root="$data_root/$proj_name" 9 | 10 | if test -d "$svn_root/.svn"; then 11 | cd $svn_root 12 | 13 | echo -n "cleanup $proj_name..." 14 | svn cleanup > /dev/null 15 | echo "done." 16 | 17 | echo -n "up $proj_name..." 18 | svn up > /dev/null 19 | echo "done." 20 | else 21 | rm -rf $svn_root 22 | echo -n "co $proj_name..." 23 | cd $data_root 24 | echo "p" | svn co $url $svn_root 2>&1 25 | echo "done." 26 | fi 27 | -------------------------------------------------------------------------------- /server/sr/contact.html: -------------------------------------------------------------------------------- 1 |

Контакт

2 |

3 | Нешто није у реду? Пронашли сте грешку? Имате идеју? Желите да помогнете? 4 | Желите да преведете ову страницу на Ваш матерњи језик? 5 | Слободно пошаљите е-поруку на open-tran@googlegroups.com

6 | Уколико имате примедбу на превод ове странице, потражите нас на БабелзилиDakSrbija и Charmed94.

-------------------------------------------------------------------------------- /server/sr_latn/contact.html: -------------------------------------------------------------------------------- 1 |

Kontakt

2 |

3 | Nešto nije u redu? Pronašli ste grešku? Imate ideju? Želite da pomognete? 4 | Želite da prevedete ovu stranicu na Vaš maternji jezik? 5 | Slobodno pošaljite e-poruku na open-tran@googlegroups.com

6 | Ukoliko imate primedbu na prevod ove stranice, potražite nas na BabelziliDakSrbija i Charmed94.

-------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | include config.mak 2 | 3 | RELEASE_FILES = lib/phrase.py lib/suggest.py lib/common.py gui/Settings.py gui/open-tran.py 4 | TMP_DIR = ./open-tran-$(VERSION) 5 | 6 | MKDIR = @echo "MKDIR $1" 7 | TAR = @echo "TAR $1" 8 | CP = @echo "CP $1" 9 | 10 | all: 11 | $(Q)$(MAKE) -C lib 12 | 13 | release: 14 | $(MKDIR) $(TMP_DIR) 15 | $(Q)rm -rf $(TMP_DIR) 16 | $(Q)mkdir $(TMP_DIR) 17 | $(CP) $(RELEASE_FILES) 18 | $(Q)cp $(RELEASE_FILES) $(TMP_DIR) 19 | $(TAR) $(TMP_DIR).tar.gz 20 | $(Q)tar zcf $(TMP_DIR).tar.gz $(TMP_DIR) 21 | $(Q)rm -rf $(TMP_DIR) 22 | 23 | clean: 24 | $(Q)$(MAKE) -C lib clean 25 | 26 | .PHONY: all release clean 27 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | Copyright (C) 2007 Jacek Śliwerski (rzyjontko) 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software Foundation, 14 | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | -------------------------------------------------------------------------------- /import/update-gnome.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | data_root="$1" 4 | gnome_root="$data_root/gnome-po" 5 | 6 | gmodules=`wget -o /dev/null -O- http://svn.gnome.org/viewvc/ | grep 'a href="/viewvc/[^"]' | sed 's/.*\/viewvc\/\([^\/]*\)\/.*/\1/'` 7 | 8 | if [ ! -d $gnome_root ]; then 9 | mkdir $gnome_root 10 | fi 11 | 12 | for m in $gmodules; do 13 | cd $gnome_root 14 | if test -d $m; then 15 | cd $m 16 | 17 | echo -n "cleanup $m..." 18 | svn cleanup > /dev/null || true 19 | echo "done." 20 | 21 | echo -n "up $m..." 22 | svn up > /dev/null || true 23 | echo "done." 24 | else 25 | echo -n "co $m..." 26 | svn co http://svn.gnome.org/svn/$m/trunk/po $m > /dev/null || true 27 | echo "done." 28 | fi 29 | done 30 | -------------------------------------------------------------------------------- /import/update-switch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | IMPORTDIR=$1 6 | if [[ -z "$IMPORTDIR" ]]; then 7 | echo "IMPORTDIR is not defined. It should point to the import directory." 8 | exit 1 9 | fi 10 | 11 | export PYTHONPATH="$IMPORTDIR/../lib" 12 | 13 | if file "$IMPORTDIR/../data" | grep "dataa"; then 14 | olddir="dataa" 15 | newdir="datab" 16 | else 17 | olddir="datab" 18 | newdir="dataa" 19 | fi 20 | 21 | echo "Old directory: $olddir" 22 | echo "New directory: $newdir" 23 | 24 | rm -f $IMPORTDIR/../$newdir/failed.txt 25 | $IMPORTDIR/audit_compact.py $IMPORTDIR/../$newdir 26 | 27 | cd "$IMPORTDIR/.." 28 | mv /tmp/projects.html server 29 | mv /tmp/languages.html server 30 | rm data 31 | ln -s "$newdir" data 32 | -------------------------------------------------------------------------------- /import/update-xfce.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | data_root="$1" 4 | xfce_root="$data_root/xfce" 5 | 6 | if [ -d $xfce_root/xfwm4/.svn ]; then 7 | rm -rf $xfce_root 8 | fi 9 | 10 | if [ ! -d $xfce_root ]; then 11 | mkdir $xfce_root 12 | fi 13 | 14 | cd $xfce_root 15 | 16 | xmodules=`wget -o /dev/null -O- http://git.xfce.org | grep 'sublevel-repo[^~]*$' | sed "s/^.*href='\([^']*\)'.*$/\1/"` 17 | for m in $xmodules; do 18 | dir=`echo $m | sed 's/.*\/\(.*\)\/$/\1/'` 19 | if test -d $dir; then 20 | cd $dir 21 | 22 | echo -n "pull $m..." 23 | git pull > /dev/null || true 24 | echo "done." 25 | 26 | cd .. 27 | else 28 | echo -n "clone $m..." 29 | git clone "git://git.xfce.org$m" > /dev/null || true 30 | echo "done." 31 | fi 32 | done 33 | -------------------------------------------------------------------------------- /import/update-fedora.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | data_root="$1" 4 | fedora_root="$data_root/fedora" 5 | 6 | # This is a dummy run that should make wget avoid a refresh 7 | wget -o /dev/null -O /dev/null http://git.fedorahosted.org/git/?a=project_index 8 | 9 | modules=`wget -o /dev/null -O- http://git.fedorahosted.org/git/?a=project_index | sed 's/ .*//'` 10 | 11 | if [ ! -d $fedora_root ]; then 12 | mkdir $fedora_root 13 | fi 14 | 15 | for m in $modules; do 16 | cd $fedora_root 17 | if test -d $m; then 18 | cd $m 19 | 20 | echo -n "pull $m..." 21 | git pull > /dev/null || true 22 | echo "done." 23 | else 24 | echo -n "clone $m..." 25 | git clone git://git.fedorahosted.org/$m $m > /dev/null || true 26 | echo "done." 27 | fi 28 | done 29 | -------------------------------------------------------------------------------- /import/update-kde.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | data_root="$1" 4 | kde_root="$data_root/l10n-kde4" 5 | 6 | if [ ! -d $kde_root ]; then 7 | mkdir $kde_root 8 | fi 9 | 10 | cd $kde_root 11 | 12 | modules=`svn ls svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4` 13 | for m in $modules; do 14 | if [ $m == "README" -o $m == "documentation" -o $m == "scripts" ]; then 15 | continue 16 | fi 17 | if test -d $m; then 18 | cd $m 19 | 20 | echo -n "clean $m..." 21 | svn cleanup > /dev/null || true 22 | echo "done." 23 | 24 | echo -n "up $m..." 25 | svn up > /dev/null || true 26 | echo "done." 27 | 28 | cd .. 29 | else 30 | echo -n "co $m..." 31 | svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4/$m > /dev/null || true 32 | echo "done." 33 | fi 34 | done 35 | -------------------------------------------------------------------------------- /old/find.sql: -------------------------------------------------------------------------------- 1 | select dc.id, dc.phrase, min(sp.note) as note, count(*) as cnt 2 | from 3 | ( 4 | select sp.locationid, sp.phrase, 5 | -- (sc.wordcount - sw.occ) / cast (sc.wordcount as float) as anote, 6 | -- (2 - sw.cnt) / 2.0 as bnote, 7 | sc.wordcount - sw.occ - sw.cnt as note 8 | from 9 | ( 10 | select canonicalid, count(*) as cnt, sum(occurences) as occ 11 | from words 12 | where word in ('save', 'as') 13 | group by canonicalid 14 | ) as sw join canonicalphrases sc on sw.canonicalid = sc.id join phrases sp on sp.canonicalid = sc.id 15 | where sp.language = 'C' 16 | ) as sp join phrases dp on sp.locationid = dp.locationid 17 | join canonicalphrases dc on dc.id = dp.canonicalid 18 | where dp.language = 'pl' 19 | group by dc.id, dc.phrase 20 | order by note asc, cnt desc 21 | limit 10 22 | -------------------------------------------------------------------------------- /lib/stem/api.py: -------------------------------------------------------------------------------- 1 | # Natural Language Toolkit: Stemmer Interface 2 | # 3 | # Copyright (C) 2001-2010 NLTK Project 4 | # Author: Trevor Cohn 5 | # Edward Loper 6 | # Steven Bird 7 | # URL: 8 | # For license information, see LICENSE.TXT 9 | 10 | class StemmerI(object): 11 | """ 12 | A processing interface for removing morphological affixes from 13 | words. This process is known as X{stemming}. 14 | 15 | """ 16 | def stem(self, token): 17 | """ 18 | Strip affixes from the token and return the stem. 19 | 20 | @param token: The token that should be stemmed. 21 | @type token: C{str} 22 | """ 23 | raise NotImplementedError() 24 | 25 | -------------------------------------------------------------------------------- /gui/Fetch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.4 2 | # -*- coding: utf-8 -*- 3 | 4 | from xmlrpclib import ServerProxy, MultiCall 5 | import sys 6 | 7 | class Fetch: 8 | def __init__(self, phrases, lang): 9 | self.__phrases = phrases 10 | self.__server = ServerProxy("http://localhost:8080") 11 | self.__lang = lang 12 | self.__suggs = {} 13 | self.__idx = 0 14 | 15 | def fetch(self): 16 | multicall = MultiCall(self.__server) 17 | for phrase in self.__phrases: 18 | multicall.suggest(phrase, self.__lang) 19 | print "suggesting...", len(self.__phrases), 20 | sys.stdout.flush() 21 | result = multicall() 22 | print "done" 23 | return False 24 | 25 | def suggest(self, phrase): 26 | return self.__suggs.get(phrase, []) 27 | -------------------------------------------------------------------------------- /server/ko/whatfor.html: -------------------------------------------------------------------------------- 1 |

왜 Open-Tran.eu 입니까?

2 |

3 | 독점 소프트웨어 제작사들은 4 | CAT 이나 5 | TM 프로그램을 이용하여 프로그램 6 | 번역어의 일관성을 유지합니다. 하지만 대부분의 경우 독점 소프트웨어 7 | 제작사들은 이러한 프로그램이나 관련 지식, 번역 메모리(translation memory) 8 | 데이터베이스 등을 공개하지 않고 있습니다. 9 |

10 |

11 | 오픈 소스 소프트웨어의 경우, 소스가 공개되어 있어 수많은 오픈 소스 12 | 소프트웨어의 번역물을 참조할 수 있습니다. 따라서 독점 소프트웨어의 13 | 경우보다 훨씬 이점이 많지만, 실제적으로 이것을 효과적으로 사용하기는 14 | 쉽지 않습니다. 수많은 사람들이 번역한 번역물과 관련 지식들이 한 곳에 15 | 모여있지 않고 이곳저곳에 흩어져 있기 때문입니다. 이러한 관계로 주요 16 | 프로그램들의 번역어들이 일관성을 갖지 못한 경우가 많습니다. 17 |

18 |

19 | Open-Tran.eu 서비스는 이러한 단점을 보완하고, 번역자들에게 유용한 20 | 도구를 제공하고 있습니다. 이 서비스를 통해 번역물의 품질과 번역 21 | 용어의 일관성이 향상되기를 바랍니다. 22 |

23 | -------------------------------------------------------------------------------- /old/load.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.4 2 | # -*- coding: utf-8 -*- 3 | 4 | import sys 5 | from pysqlite2 import dbapi2 as sqlite 6 | from phrase import Phrase, Handlers 7 | 8 | dbconn = sqlite.connect("first.db") 9 | mmconn = sqlite.connect(":memory:") 10 | 11 | mmcur = mmconn.cursor() 12 | mmcur.execute(""" 13 | create table words ( 14 | word text not null, 15 | phraseid integer not null, 16 | count integer not null 17 | )""") 18 | 19 | print "Reading phrases...", 20 | dbcur = dbconn.cursor() 21 | dbcur.execute("select word, phraseid, count from words") 22 | print "done." 23 | 24 | print "Storing words...", 25 | sys.stdout.flush() 26 | for (word, phraseid, count) in dbcur: 27 | mmcur.execute(u"insert into words (word, phraseid, count) values (?, ?, ?)", (word, phraseid, count)) 28 | 29 | mmconn.commit() 30 | print "done." 31 | -------------------------------------------------------------------------------- /server/netvibes.xhtml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | Open-Tran.eu 7 | 8 | 9 | 10 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 |
26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /server/he/whatfor.html: -------------------------------------------------------------------------------- 1 |

למה Open-Tran.eu?

2 |

3 | יצרני תוכנה קניינית עשויים (אם יש להם כסף לכך) להשתמש 4 | בתוכנות CAT או 5 | TM על מנת לוודא 6 | את אחידות המינוח ביישומים שלהם. לרוע המזל, ישנן יצרני תוכנה 7 | רבים שאינם מעוניינים לחלוק בידע שלהם (הכולל מסדי נתונים של 8 | זכרון תרגומים) עם אחרים. 9 |

10 |

11 | בדיוק כאן יכולות תוכנות הקוד הפתוח להוכיח את יעילותן על גבי 12 | התוכנות הקנייניות. יכולות, אך אינן. למרות שלכולם יש גישה מלאה 13 | להרבה תרגומים של תוכנות חופשיות, הזדמנות זו מעולם לא מנוצלת 14 | הידע של מאות (אם לא אלפי) אנשים המתרגמים יישומים לשפת 15 | האם שלהם אינו מרוכז ולכן בקושי זמין לאחרים. זוהי הסיבה בגללה 16 | התרגומים של התוכנות הנפוצות ביותר אינן עקביות אחת עם השניה, 17 | מה שלא מעודד אנשים להשתמש בהן. 18 |

19 |

20 | הייתי רוצה שהשירות של Open-Tran.eu ימלא את 21 | החלל ויספק למתרגמים כלים יעילים, העלולים לשפר 22 | את איכות התרגומים שלהם ויגביר את אחידות המינוח 23 | בתוכנות הקוד הפתוח. 24 |

25 | -------------------------------------------------------------------------------- /server/sr/whatfor.html: -------------------------------------------------------------------------------- 1 |

Зашто Open-Tran.eu?

2 |

3 | Изадавачи софтвера могу (ако себи то могу приуштити) да користе 4 | CAT или 5 | TM софтвер да обезбеде доследност терминологије њихове апликације. Нажалост, много је различитих издавача софтвера који не желе да поделе своје знање (које укључује базе података о преводу) са осталима. 6 |

7 |

8 | Ово је нешто у чему софтвер отвореног кода може да постане бољи од издавача. Може, али није. Иако свако има пун приступ преводима многих програма отвореног кода, ову могућност скоро нико не користи. Знање стотина (ако не и хиљада) особа које преводе софтвер на свој матерњи језик није централизована и тешко је доступна осталима. То је разлог због ког чак и преводиоци најпопуларнијих програма нису доследни, што обесхрабрује људе да их користе. 9 |

10 |

11 | Желели бисмо да Open-Tran.eu услуге премосте овај јаз, те преводиоцима пруже користан алат који може да побољша квалитет њихових превода и повећа доследност терминологије у софтверу отвореног кода.

12 | -------------------------------------------------------------------------------- /import/step1.sql: -------------------------------------------------------------------------------- 1 | -- Copyright (C) 2007 Jacek Śliwerski (rzyjontko) 2 | -- 3 | -- This program is free software; you can redistribute it and/or modify 4 | -- it under the terms of the GNU General Public License as published by 5 | -- the Free Software Foundation; version 2. 6 | -- 7 | -- This program is distributed in the hope that it will be useful, 8 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | -- GNU General Public License for more details. 11 | -- 12 | -- You should have received a copy of the GNU General Public License 13 | -- along with this program; if not, write to the Free Software Foundation, 14 | -- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | 16 | create table projects ( 17 | id int primary key, 18 | name text not null 19 | ); 20 | 21 | create table phrases ( 22 | id int primary key, 23 | phrase text not null, 24 | lang text not null, 25 | flags int, 26 | length int, 27 | projectid int, 28 | locationid int 29 | ); 30 | 31 | create table last_id ( 32 | id int 33 | ); 34 | 35 | insert into last_id values (1); 36 | -------------------------------------------------------------------------------- /server/sr_latn/whatfor.html: -------------------------------------------------------------------------------- 1 |

Zašto Open-Tran.eu?

2 |

3 | Izadavači softvera mogu (ako sebi to mogu priuštiti) da koriste 4 | CAT ili 5 | TM softver da obezbede doslednost terminologije njihove aplikacije. Nažalost, mnogo je različitih izdavača softvera koji ne žele da podele svoje znanje (koje uključuje baze podataka o prevodu) sa ostalima. 6 |

7 |

8 | Ovo je nešto u čemu softver otvorenog koda može da postane bolji od izdavača. Može, ali nije. Iako svako ima pun pristup prevodima mnogih programa otvorenog koda, ovu mogućnost skoro niko ne koristi. Znanje stotina (ako ne i hiljada) osoba koje prevode softver na svoj maternji jezik nije centralizovana i teško je dostupna ostalima. To je razlog zbog kog čak i prevodioci najpopularnijih programa nisu dosledni, što obeshrabruje ljude da ih koriste. 9 |

10 |

11 | Želeli bismo da Open-Tran.eu usluge premoste ovaj jaz, te prevodiocima pruže koristan alat koji može da poboljša kvalitet njihovih prevoda i poveća doslednost terminologije u softveru otvorenog koda.

-------------------------------------------------------------------------------- /server/server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # Copyright (C) 2007 Jacek Śliwerski (rzyjontko) 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; version 2. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU General Public License 15 | # along with this program; if not, write to the Free Software Foundation, 16 | # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | 18 | import sys 19 | import signal 20 | import os 21 | from TranServer import TranServer 22 | 23 | print "loading...", 24 | sys.stdout.flush() 25 | 26 | server = TranServer(("", 8080)) 27 | 28 | f = open(os.path.join(os.path.dirname(sys.argv[0]), 'server.pid'), 'w') 29 | f.write(str(os.getpid())) 30 | f.close() 31 | 32 | print "done." 33 | sys.stdout.flush() 34 | 35 | server.serve_forever() 36 | -------------------------------------------------------------------------------- /import/import_db_init.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # Copyright (C) 2007-2010 Jacek Śliwerski (rzyjontko) 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; version 2. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU General Public License 15 | # along with this program; if not, write to the Free Software Foundation, 16 | # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | 18 | from common import LANGUAGES 19 | from pysqlite2 import dbapi2 as sqlite 20 | from sys import argv 21 | 22 | dbname = argv[1] 23 | conn = sqlite.connect(dbname) 24 | cursor = conn.cursor() 25 | 26 | for lang in sorted(LANGUAGES): 27 | print lang, "..." 28 | cursor.execute("create table phrases_%s as select * from phrases" 29 | % lang) 30 | 31 | conn.commit() 32 | -------------------------------------------------------------------------------- /import/update-oo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | data_root="$1" 4 | oo_l10n="$data_root/oo-l10n" 5 | oo_po="$data_root/oo-po" 6 | 7 | if [ ! -d $oo_l10n ]; then 8 | echo -n "co l10n..." 9 | cd $data_root 10 | (cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs co -P -d oo-l10n l10n/l10n/source > /dev/null || true) 2>&1 11 | echo "done." 12 | else 13 | cd $oo_l10n 14 | echo -n "up l10n..." 15 | (cvs up > /dev/null || true) 2>&1 16 | echo "done." 17 | fi 18 | 19 | if [ ! -d $oo_po ]; then 20 | mkdir $oo_po 21 | fi 22 | 23 | cd $oo_po 24 | echo -n "clean..." 25 | rm -rf * 26 | echo "done" 27 | 28 | echo -n "get en-US..." 29 | wget -o /dev/null ftp://ftp.linux.cz/pub/localization/OpenOffice.org/3.0.0/GSI/en-US.sdf 30 | echo "done." 31 | 32 | cd $oo_l10n 33 | 34 | for d in *; do 35 | if [ ! -f "$d/localize.sdf" ]; then 36 | continue 37 | fi 38 | 39 | echo -n "merging $d..." 40 | cat "$oo_po/en-US.sdf" > "$oo_po/full.sdf" 41 | sed '/^#/d' < "$d/localize.sdf" >> "$oo_po/full.sdf" 42 | echo "done." 43 | 44 | echo -n "converting $d..." 45 | oo2po --progress none --duplicates=merge -l $d "$oo_po/full.sdf" "$oo_po/$d" > /dev/null 46 | echo "done." 47 | done 48 | -------------------------------------------------------------------------------- /server/save_as.js: -------------------------------------------------------------------------------- 1 | // Notice that: 2 | // * top-level objects group all differing suggestions 3 | // * for every translation there might be multiple original phrases that 4 | // were translated the same way 5 | // * count within the top-level object is a sum of the counts of the 6 | // objects on the "projects" list. 7 | [ {"text": "Simpan Sebagai", // proposed translation 8 | "value": 1, // the lower, the better 9 | "count": 4, // total number of occurences of phrase "Simpan Sebagai" 10 | "projects": [ 11 | {"count": 4, // number of occurences of this phrase in GNOME 12 | "flags": 0, // 0 means OK, 1 means fuzzy 13 | "name": "GNOME", // name of the project 14 | "orig_phrase": "Save As", // original phrase in the project 15 | "path": "G/evolution"}]}, 16 | {"text": "Simpan Sebagai...", 17 | "value": 1, 18 | "count": 2, 19 | "projects": [ 20 | {"count": 1, 21 | "flags": 0, 22 | "name": "GNOME", 23 | "orig_phrase": "Save As…", 24 | "path": "G/gedit"}, 25 | {"count": 1, 26 | "flags": 0, 27 | "name": "GNOME", 28 | "orig_phrase": "Save As...", 29 | "path": "G/evolution"}]} 30 | ] 31 | -------------------------------------------------------------------------------- /server/csb/poco.html: -------------------------------------------------------------------------------- 1 |

Skądka sã wzã Open-Tran.eu?

2 |

3 | Producencë kòmercjowégò òprogramòwaniô mògą (eżlë mają tëli dëtków) brëkòwac programë ôrtu CAT abò TM, dzãka czemù słowizna westrzódka jich aplikacëji je rzesznô. Leno producentów òprogramòwaniô je dosc tëli, a jich nawzôjna niezgara do se robi to, że nie chcą dzelic sã swòją wiedzbą (chtërny dzélã są np. bazë pòdôwków słowiznë). 6 |

7 |

8 | Na nen ôrt ôpen-zdrojowé òprogramòwanié mòże bëc lepszé òd kòmercjowégò. Mòże, le nie je. Bò chòc wszëtcë mómë fùl przistãp do dolmaczënków wielu programów, rzôdkò chtos z tegò zwëskùjë. Wiedzba setków (a mòże tësąców) lëdzy dolmaczącëch aplikacëje open source na nôrodné jãzëczi nie je dowestrzódkòwónô, leno kòżdi robi co le chce. Dlôtë prawie dolmaczënczi nawetka nôbarżi widzałëch programów nie są ze sobą rzeszné, co przekłôdô sã czasã na niechãc brëkòwników do òtemkłégò òprogramòwania. 9 |

10 |

11 | Jô bë chcôł, żebë Open-Tran.eu dofùlowôło felënczi na tim pòlu ë sta sã dlô dolmaczów nôrzãdzem, chtërné pòprawi kwalitet dolmaczënków ë zwikszë spójnotã słowiznë w ôpen-zdrojowim òprogramòwaniu. 12 |

13 | -------------------------------------------------------------------------------- /server/es/que.html: -------------------------------------------------------------------------------- 1 |

¿Por qué Open-Tran.eu?

2 |

3 | Los productores de software propietario tienen la posibilidad -si se lo pueden permitir- de utilizar varios sistemas TAO y diversas herramientas de memoria de traducción que garantizan la consistencia de la terminología empleada en las traducciones de sus programas. Pero la mayoría de los fabricantes no quiere compartir su saber -que incluye, entre otros, también los bancos de terminología- con los demás. 4 |

5 |

6 | En este sentido el software Open Source podría ser mejor que el propietario, pero no lo es. Aunque todos tenemos acceso a las traducciones de varios programas, casi nadie lo aprovecha. El trabajo de cientos, si no miles, de personas que traducen las aplicaciones Open Source a sus lenguas maternas no está centralizado. Por eso, incluso las traducciones de los más populares programas no son consistentes, lo que puede desanimar a los futuros usuarios del software Open Source. 7 |

8 |

9 | Me gustaría que el proyecto Open-Tran.eu llene este nicho. Espero que sirva de ayuda a las traductoras y a los traductores y que les permita mejorar y hacer más consistentes las traducciones de aplicaciones Open Source. 10 |

11 | 12 | -------------------------------------------------------------------------------- /import/update-local.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | local_dir=/home/sliwers/open-tran 6 | log_dir=/var/log 7 | 8 | export PYTHONPATH=$local_dir/lib 9 | 10 | logout="$log_dir/import.log" 11 | errout="$log_dir/import.err" 12 | 13 | echo -n "########## Starting import: " >> $logout 14 | date >> $logout 15 | 16 | if file "$local_dir/data" | grep "dataa"; then 17 | olddir="$local_dir/dataa" 18 | newdir="$local_dir/datab" 19 | else 20 | olddir="$local_dir/datab" 21 | newdir="$local_dir/dataa" 22 | fi 23 | 24 | echo -n "########## Downloading the database: " >> $logout 25 | date >> $logout 26 | 27 | rm -f $newdir/ten*.db 28 | wget -o /dev/null -O $newdir/ten.db http://ot.leonardof.org/data/ten.db 29 | 30 | echo -n "########## Copying Mozilla and OO.o phrases: " >> $logout 31 | date >> $logout 32 | $local_dir/import/import_step1a.py $newdir >> $logout 2>> $errout 33 | echo -n "########## Moving phrases: " >> $logout 34 | date >> $logout 35 | $local_dir/import/import_step2.py $newdir >> $logout 2>> $errout 36 | 37 | rm $newdir/ten.db 38 | 39 | echo -n "########## Moving words: " >> $logout 40 | date >> $logout 41 | $local_dir/import/import_step3.py $newdir >> $logout 2>> $errout 42 | 43 | echo -n "########## Finished " >> $logout 44 | date >> $logout 45 | 46 | $local_dir/import/update-switch.sh $local_dir/import 47 | 48 | -------------------------------------------------------------------------------- /server/sl/whatfor.html: -------------------------------------------------------------------------------- 1 |

Zakaj Open-Tran.eu?

2 |

3 | Prodajalci lastniške programske opreme za zagotavljanje doslednosti 4 | izrazoslovja svojih programov uporabljajo program 5 | CAT ali 6 | TM, če si ju lahko 7 | privoščijo. Žal obstaja veliko prodajalcev, ki niso pripravljeni deliti 8 | svojega znanja, ki vključuje podatkovne zbirke prevajalnega pomnilnika, z drugimi. 9 |

10 |

11 | Tukaj bi se lahko odprtokodna programska oprema izkazala kot boljša od 12 | lastniške, ampak se ne. Čeprav ima vsakdo poln dostop do prevodov 13 | veliko odprtokodnih programov, se ta priložnost redkokdaj uporabi. Znanje 14 | stotine (če ne tisočin) ljudi, ki prevajajo programe v svoje materne jezike, ni 15 | centralizirano in je tako s težavo na voljo drugim. To je tudi razlog, 16 | zakaj so prevodi tudi najbolj priljubljenih programov nedosledni, kar ljudi 17 | odvrača od njihove uporabe. 18 |

19 |

20 | Želim si, da storitev Open-Tran.eu zapolni to praznino in zagotovi 21 | prevajalcem uporabno orodje, ki lahko izboljša kakovost njihovih 22 | prevodov in poveča doslednost izrazoslovja v odprtokodni programski 23 | opremi. 24 |

25 | -------------------------------------------------------------------------------- /server/fy/whatfor.html: -------------------------------------------------------------------------------- 1 |

Wêrom Open-Tran.eu?

2 |

3 | Oanbieders fan programmatuer ûnder lisinsje brûke faak (as it har barre mei) 4 | CAT of 5 | TM programmatuer om in sekere 6 | konstantens yn de programmabegripen te krijen. Spitigernôch, 7 | binne der in soad programmamakkers dy't 8 | har kennis (sels har databank mei oersettings) net mei oaren diele wolle. 9 |

10 |

11 | En dêrom kin de "Open source software" bewize dat hy better is as de programmatuer ûnder lisinsje. 12 | It kin, mar it slagget net. Hoewol't 13 | eltsenien folsleine tagong ta de oersettings fan in soad iepen-boarne-programma's 14 | hat, wurdt de mooglikheid amper brûkt. De kennis 15 | fan hûnderten (as it gjin tûzenen binne) oersettings yn 16 | de eigen taal is net sintralisearre en dus amper 17 | beskikber foar oaren. Dêrom binne sels de oersettings 18 | yn de populêrste programma's 19 | net gelyk. Soks noeget net ta brûken. 20 | 21 |

22 |

23 | Ik hoopje dat de Open-Tran.eu-tsjinst it gat opfolje sil en foar oersetters in stikje ark betsjut, dat de kwaliteit fan har oersettings en de konstantens fan de begripen yn 'e iepen-boarne-programmatuer ferbetteret. 24 |

25 | 26 | -------------------------------------------------------------------------------- /server/sk/whatfor.html: -------------------------------------------------------------------------------- 1 |

Prečo Open-Tran.eu?

2 |

3 | Výrobcovia proprietárneho softvéru môžu (pokiaľ si to môžu dovoliť) použiť 4 | CAT alebo 5 | TM softvér s cieľom zabezpečiť 6 | súlad terminológie ich aplikácií. Bohužiaľ, 7 | existuje veľa softvérových výrobcov, ktorí nie sú ochotní 8 | podeliť sa o svoje znalosti (vrátane databázy s prekladmi) 9 | s ostatnými. 10 |

11 |

12 | A to je miesto, kde otvorený softvér môže ukázať, že je lepší 13 | ako proprietárny. Mohol by, ale nie je. Aj keď má 14 | každý plný prístup k prekladom mnohých programov s otvoreným kódom, 15 | je táto možnosť málo používaná. Znalosti 16 | stoviek (ak nie tisícov) ľudí prekladajúcich aplikácie do 17 | ich rodného jazyka nie sú centralizované a sú ťažko 18 | dostupné ostatným. To je dôvod prečo preklady aj tých 19 | najpopulárnejších programov nie sú v súlade s ostatnými, 20 | čo odrádza ľudí od ich používania. 21 |

22 |

23 | Chcel by som so službou Open-Tran.eu vyplniť túto medzeru 24 | a poskytnúť prekladateľovi užitočný nástroj, s ktorým môže zlepšiť 25 | kvalitu svojich prekladov a zvýšiť konzistentnosť terminológie 26 | v softvéri s otvoreným kódom. 27 |

28 | -------------------------------------------------------------------------------- /server/pl/poco.html: -------------------------------------------------------------------------------- 1 |

Skąd się wzięło Open-Tran.eu?

2 |

3 | Producenci oprogramowania komercyjnego mogą (jeśli ich na to 4 | stać) stosować programy typu 5 | CAT albo 6 | TM, dzięki czemu 7 | terminologia i nazewnictwo w obrębie ich aplikacji są spójne. Ale 8 | producentów oprogramowania jest dosyć wielu, a ich wzajemna niechęć 9 | do siebie powoduje, że nie chcą dzielić się swoją wiedzą (której 10 | częścią są np. bazy danych terminologii). 11 |

12 |

13 | Pod tym właśnie względem oprogramowanie open source może być 14 | lepsze od komercyjnego. Może, ale nie jest. Bo 15 | chociaż wszyscy mamy pełen dostęp do tłumaczeń wielu programów, 16 | rzadko kto z niego korzysta. Wiedza setek (a może wręcz 17 | tysięcy) osób tłumaczących aplikacje open source na języki 18 | narodowe nie jest scentralizowana, lecz "każdy sobie rzepkę 19 | skrobie". Z tego właśnie powodu tłumaczenia nawet 20 | najpopularniejszych programów są ze sobą niespójne, 21 | co przekłada się w pewnym stopniu na niechęć użytkowników do 22 | otwartego oprogramowania. 23 |

24 |

25 | Chciałbym, żeby Open-Tran.eu uzupełniło braki na tym polu i 26 | stało się dla tłumaczy narzędziem, które poprawi jakość 27 | tłumaczeń i zwiększy spójność nazewnictwa i terminologii w 28 | oprogramowaniu open source. 29 |

30 | -------------------------------------------------------------------------------- /lib/stem/__init__.py: -------------------------------------------------------------------------------- 1 | # Natural Language Toolkit: Stemmers 2 | # 3 | # Copyright (C) 2001-2010 NLTK Project 4 | # Author: Trevor Cohn 5 | # Edward Loper 6 | # Steven Bird 7 | # URL: 8 | # For license information, see LICENSE.TXT 9 | 10 | """ 11 | Interfaces used to remove morphological affixes from words, leaving 12 | only the word stem. Stemming algorithms aim to remove those affixes 13 | required for eg. grammatical role, tense, derivational morphology 14 | leaving only the stem of the word. This is a difficult problem due to 15 | irregular words (eg. common verbs in English), complicated 16 | morphological rules, and part-of-speech and sense ambiguities 17 | (eg. C{ceil-} is not the stem of C{ceiling}). 18 | 19 | C{StemmerI} defines a standard interface for stemmers. 20 | """ 21 | 22 | from api import * 23 | #from regexp import * 24 | from porter import * 25 | #from lancaster import * 26 | #from isri import * 27 | from snowball import * 28 | #from wordnet import * 29 | #from rslp import * 30 | 31 | __all__ = [ 32 | # Stemmer interface 33 | 'StemmerI', 34 | 35 | # Stemmers 36 | # 'RegexpStemmer', 37 | 'PorterStemmer', 38 | # 'LancasterStemmer', 39 | # 'RSLPStemmer', 40 | # 'WordNetLemmatizer', 41 | # 'WordnetStemmer', 42 | # 'ISRIStemmer', 43 | 'SnowballStemmer' 44 | ] 45 | 46 | -------------------------------------------------------------------------------- /server/ko/help.html: -------------------------------------------------------------------------------- 1 |

단일 문구 번역

2 |
    3 |
  1. 4 | 웹브라우저에 (추천 단어 확인)을 5 | 위한 검색 엔진을 추가할 수 있습니다. 6 |
  2. 7 |
  3. 8 | 웹브라우저의 주소표시줄에 다음과 같이 직접 입력을 해서 번역어를 9 | 확인할 수도 있습니다. 10 | http://en.ko.open-tran.eu/suggest/search engine. 11 |
  4. 12 |
  5. 13 | 파이어폭스 사용자는 키워드를 이용한 북마크를 생성하여 사용할 수 14 | 있습니다. 북마크 메뉴에서 "북마크 관리"를 선택하여 북마크 관리 대화 15 | 상자를 호출합니다. 그리고 다음과 같이 새 북마크를 생성합니다. 16 |

    17 | screenshot

    18 | 이제 주소표시줄에 tran 단어를 입력하면, 자동으로 번역어를 19 | 검색합니다. 20 |
  6. 21 |
22 | 23 | 24 |

XML RPC

25 |

26 | XML RPC 프로토콜을 이용하여 원격 27 | 프로시저를 사용할 수 있는 모든 플랫폼에서 동일한 기능을 사용할 수 28 | 있습니다. suggest 메서드를 사용해야 하며, 두 개의 29 | 인수(번역할 단어와 대상 언어)가 필요합니다. 30 |

31 |

32 | 파이썬에서는 다음과 같이 사용합니다. 33 |

34 |
35 |       from xmlrpclib import ServerProxy
36 | 
37 |       lang = "ko_KR" # 원하는 언어 코드로 변경하십시오.
38 |       server = ServerProxy("http://open-tran.eu/RPC2")
39 |       for sugg in server.suggest("save as", lang):
40 |           print sugg
41 |     
42 |

43 | 이 방법을 이용하여 서버에서 추천 단어를 가져오는 간단한 .po 편집기를 44 | 제작할 예정입니다. 45 |

46 | -------------------------------------------------------------------------------- /server/hu/whatfor.html: -------------------------------------------------------------------------------- 1 |

Miért Open-Tran.eu?

2 |

3 | A szoftver tuladonjogával rendelkező terjesztők (ha módjukban áll) 4 | CAT vagy 5 | TM szoftvert használnak 6 | az alkalmazásaik terminológiájának egységessé tétele érdekében. Sajnos 7 | sok szoftverterjesztő nem akarja tudását (fordításokat tartalmazó adatbázisokat) megosztani másokkal. 8 |

9 |

10 | Ez az a pont, ahol egy open source szoftver bizonyíthat és jobb lehet egy tulajdonjoggal rendelkezőnél. 11 | Lehet, de nem az. Habár mindenki teljes mértékben hozzáférhet sok open source program fordításához, 12 | ez a lehetőség nincs használva kellő képpen. 13 | Százak (ha nem ezrek) fordítanak alkalmazásokat a saját anyanyelvükre. 14 | Ami viszont hiányzik, az a centralizáció. Addig a fordítások csak kemény munka 15 | árán érhetőek el mások számára. Ez az oka annak, hogy a népszerű alkalmazások és programok fordításai miért nem 16 | egyeznek egymással, ami a felhasználók kedvét szegheti az ilyen programok használatától. 17 |

18 |

19 | Én kedvelem az Open-Tran.eu szolgáltatást. Kitöltöttem vele egy űrt, hogy a fordítók egy használható eszközt kapjanak, 20 | ami javítja fordításaik minőségét és nem utolsó sorban egységesíti az open source szoftverek terminológiáját. 21 |

22 | -------------------------------------------------------------------------------- /server/da/whatfor.html: -------------------------------------------------------------------------------- 1 |

Hvorfor Open-Tran.eu?

2 |

3 | Proprietære software leverandører kan (hvis de har råd) bruge 4 | CAT eller 5 | TM software for at sikre 6 | ensartedheden af deres applikationers terminologi. Desværre er der mange 7 | software leverandører, som ikke er villige til at dele deres viden 8 | (hvilket inkluderer oversættelses databaser) med andre. 9 |

10 |

11 | Og det er lige her open source software potentielt er bedre frem for 12 | proprietær software. Det kan, men er det ikke. Selvom alle har fuld adgang 13 | til oversættelser af mange open source programmer, bliver muligheden 14 | sjældent benyttet. Den viden som hundredevis (hvis ikke tusinder) af folk 15 | har, som oversætter deres applikationer til eget sprog ligger ikke 16 | centralt og er derfor reelt ikke tilgængeligt for andre. Dette er grunden 17 | til ikke ensartede oversættelser blandt selv de mest populære programmer, 18 | hvilket afskrækker folk fra at bruge dem. 19 |

20 |

21 | Jeg ønsker Open-Tran.eu servicen skal udfylde denne mangel og at det kan 22 | give oversættere et nyttigt værktøj, som kan hæve kvaliteten af deres 23 | oversættelser og øge ensartedheden i den terminologi open source software 24 | bruger. 25 |

26 | -------------------------------------------------------------------------------- /server/de/wozu.html: -------------------------------------------------------------------------------- 1 |

Warum Open-Tran.eu?

2 |

3 | Die Hersteller der proprietären Software haben die Möglichkeit (wenn sie es sich leisten können), von verschiedenen CAT- oder TM-Systemen Gebrauch zu machen, was für die terminologische Konsistenz der Übersetzung sorgt. Es gibt aber viele Softwarehersteller, deren Abneigung gegeneinander dazu führt, dass sie keine Lust haben, ihr Wissen mit anderen zu teilen. Zu diesem Wissen gehören auch die Terminologiedatenbanken. 6 |

7 |

8 | In dieser Hinsicht kann die freie Software besser als die proprietäre sein. Kann, ist aber nicht. Obwohl wir alle freien Zugang zu den Übersetzungen vieler Programme haben, nutzt diese Möglichkeit kaum jemand aus. Das Wissen von Hunderten (wenn nicht sogar Tausenden) Menschen, die die freien Applikationen in verschiedene Sprachen übersetzen, ist nicht zentralisiert, sondern "jeder fasst sich an seine eigene Nase". Aus diesem Grunde sind die Übersetzungen selbst der bekanntesten Programme inkonsistent miteinander, was die Nutzer von der freien Software gewissermaßen abschrecken kann. 9 |

10 |

11 | Ich möchte gerne, dass das Open-Tran.eu diese Lücke füllt und 12 | den Übersetzerinnen und Übersetzern hilft, qualitätsvolle und 13 | konsistente Übersetzungen freier Programme anzufertigen. 14 |

15 | 16 | -------------------------------------------------------------------------------- /import/import_step1a.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # Copyright (C) 2008 Jacek Śliwerski (rzyjontko) 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; version 2. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU General Public License 15 | # along with this program; if not, write to the Free Software Foundation, 16 | # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | 18 | import sys 19 | from phrase import Phrase 20 | from sqlite3 import dbapi2 as sqlite 21 | from common import LANGUAGES 22 | from traceback import print_exc 23 | 24 | datadir = sys.argv[1] 25 | 26 | iconn = sqlite.connect(datadir + '/ten.db') 27 | icur = iconn.cursor() 28 | 29 | icur.execute("attach database '%s/mo.db' as 'mo'" % datadir) 30 | icur.execute("insert into projects select * from mo.projects;") 31 | 32 | for lang in sorted(LANGUAGES): 33 | print lang 34 | icur.execute(""" 35 | insert into phrases_%s 36 | select * 37 | from mo.phrases 38 | where lang = '%s'""" % (lang, lang)) 39 | 40 | iconn.commit() 41 | 42 | icur.close() 43 | iconn.close() 44 | 45 | -------------------------------------------------------------------------------- /server/pt_br/whatfor.html: -------------------------------------------------------------------------------- 1 |

Por quê Open-Tran.eu?

2 |

3 | Vendedores de software proprietário podem (se lhes for viável) usar 4 | software como CAT ou 5 | TM para garantir 6 | a consistência da terminologia de seus aplicativos. Infelizmente, 7 | existem muitos vendedores de software diferentes que não estão 8 | interessados em compartilhar o seu conhecimento (que inclui bancos 9 | de dados de traduções) com outros. 10 |

11 |

12 | É aí que o software livre poderia provar que é melhor que o 13 | proprietário. Poderia, mas não é. Apesar que todos têm acesso completo 14 | às traduções de vários programas de software livre, esta oportunidade quase 15 | nunca é aproveitada. O conhecimento de centenas (se não milhares) de 16 | pessoas traduzindo aplicativos para o seu idioma não é centralizado 17 | e portanto dificilmente disponívels ao público. Este é o motivo porque 18 | mesmo as traduções dos programas mais populares não é consistente 19 | dentre eles, o que desencoraja muitos de usá-los. 20 |

21 |

22 | Eu espero que o serviço Open-Tran.eu prencha este vazio e 23 | providencie aos tradutores uma ferramenta útil, que possa 24 | melhorar a qualidade de suas traduções e aumentar a consistência 25 | da terminologia no software de código livre. 26 |

27 | -------------------------------------------------------------------------------- /import/step2.sql: -------------------------------------------------------------------------------- 1 | -- Copyright (C) 2007, 2008 Jacek Śliwerski (rzyjontko) 2 | -- 3 | -- This program is free software; you can redistribute it and/or modify 4 | -- it under the terms of the GNU General Public License as published by 5 | -- the Free Software Foundation; version 2. 6 | -- 7 | -- This program is distributed in the hope that it will be useful, 8 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | -- GNU General Public License for more details. 11 | -- 12 | -- You should have received a copy of the GNU General Public License 13 | -- along with this program; if not, write to the Free Software Foundation, 14 | -- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | 16 | 17 | create table locations ( 18 | locationid int not null, 19 | phraseid int not null, 20 | project text not null, 21 | flags int 22 | ); 23 | 24 | 25 | create table phrases ( 26 | id int primary key, 27 | phrase text not null, 28 | length int 29 | ); 30 | 31 | 32 | create table twords ( 33 | id int primary key, 34 | word text not null, 35 | phraseid int not null, 36 | count int not null 37 | ); 38 | 39 | 40 | create table words ( 41 | id int primary key, 42 | word text not null 43 | ); 44 | 45 | 46 | create table wp ( 47 | wordid int not null, 48 | phraseid int not null, 49 | count int not null 50 | ); 51 | -------------------------------------------------------------------------------- /server/uk/whatfor.html: -------------------------------------------------------------------------------- 1 |

Чому Open-Tran.eu?

2 |

3 | Комерційні виробники програмного забезпечення можуть (якщо є фінансова змога) 4 | вживати ПЗ типу CAT або 5 | TM, завдяки чому термінологія 6 | в перекладених програмах буде узгодженою. На жаль, є багато виробників 7 | програмного забезпечення, які не бажають ділитись своїми знаннями 8 | (які включають бази даних перекладів термінології) з іншими. 9 |

10 |

11 | В цій ділянці ПЗ з відкритим кодом може показати свою перевагу 12 | над комерційним ПЗ. Може, але не показало. Хоча, всі бажаючі мають повний доступ до 13 | перекладів багатьох програм з відкритим кодом, ця можливість 14 | використовується дуже нечасто. Знання сотень (якщо не тисяч) 15 | людей, які перекладають програми на їхню рідну мову, не 16 | централізоване, і тому майже недоступне для інших. 17 | Це являється найбільшою причиною того, що переклади, навіть, 18 | найпопулярніших програм не узгоджені, не однорідні між 19 | собою, а це, в свою чергу, відштовхує від них користувачів. 20 |

21 |

22 | Хотілося би, щоб служба Open-Tran.eu заповнила цю прогалину й забезпечила 23 | перекладачів корисним засобом, який дасть можливість покращити 24 | якість їхніх перекладів і узгодженість термінології у програмному забезпеченні 25 | з відкритим кодом. 26 |

27 | -------------------------------------------------------------------------------- /server/en/whatfor.html: -------------------------------------------------------------------------------- 1 |

Why Open-Tran.eu?

2 |

3 | Proprietary software vendors may (if they can afford it) use 4 | CAT or 5 | TM software in order to 6 | ensure the consistency of their applications' terminology. Unfortunately, 7 | there are many different software vendors who are not willing to 8 | share their knowledge (which includes translation memory databases) 9 | with the others. 10 |

11 |

12 | And this is where the open source software could prove to be 13 | better than the proprietary. It could, but is not. Although 14 | everybody has full access to the translations of many open source 15 | programs, this opportunity is hardly ever used. The knowledge 16 | of hundreds (if not thousands) of people translating applications into 17 | their native languages is not centralized and thus hardly 18 | available to the others. This is the reason why the 19 | translations of even the most popular programs are not 20 | consistent with each other, which discourages people from using 21 | them. 22 |

23 |

24 | I'd like the Open-Tran.eu service to fill this gap and to 25 | provide the translators with a useful tool, which may improve 26 | the quality of their translations and increase the consistency 27 | of terminology in the open source software. 28 |

29 | -------------------------------------------------------------------------------- /lib/tran.i: -------------------------------------------------------------------------------- 1 | %module tran 2 | %{ 3 | /* 4 | Copyright (C) 2007 Jacek Śliwerski (rzyjontko) 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; version 2. 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, write to the Free Software Foundation, 17 | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | #include "storage.h" 20 | %} 21 | 22 | storage_t *storage_create (const char *lang); 23 | void storage_destroy (storage_t *storage); 24 | 25 | void storage_add (storage_t *storage, const char *text, int project_id, 26 | int location_id); 27 | void storage_read (storage_t *storage, const char *dbname); 28 | suggestion_t *storage_suggest (storage_t *storage, const char *text); 29 | 30 | int suggestion_get_count (suggestion_t *suggestion); 31 | unsigned short suggestion_get_project_id (suggestion_t *suggestion, int idx); 32 | unsigned short suggestion_get_location_id (suggestion_t *suggestion, int idx); 33 | int suggestion_get_value (suggestion_t *suggestion, int idx); 34 | void suggestion_destroy (suggestion_t *suggestion); 35 | -------------------------------------------------------------------------------- /server/sq/whatfor.html: -------------------------------------------------------------------------------- 1 |

Përse një Open-Tran.eu?

2 |

3 | Tregtuesit e software-eve pronësorë munden (nëse kanë takat) të përdorin 4 | software CAT ose 5 | TM që të sigurojnë 6 | vijueshmërinë në terminologjinë e zbatimeve të tyre. Mjerisht, 7 | ka shumë tregtues software-esh të ndryshëm që nuk kanë dëshirë 8 | ta ndajnë me të tjerët dijen e tyre (ku përfshihen edhe baza të dhënash 9 | kujtese përkthimi). 10 |

11 |

12 | Kjo është pika ku software-i me burim të hapur mund të provojë 13 | të jetë më i mirë se sa pronësori. Mundet, por nuk është. Edhe pse 14 | gjithkush ka hyrje të plotë në përkthimet e mjaft programeve me burim të hapur, 15 | kjo mundësi rallë përdoret. Dija e qindra (në mos mijëra) personave që përkthejnë 16 | zbatime në gjuhët e tyre nuk është e përqendruar, ndaj edhe është e zorshme për 17 | t'u përdorur nga të tjerë. Kjo është arsyeja pse përkthimet edhe të programeve 18 | më popullore nuk janë në vijueshmëri njëri ndaj tjetrit, çka nuk nxit përdorimin 19 | e tyre nga njerëzit. 20 |

21 |

22 | Do të doja që shërbimi Open-Tran.eu ta mbyllte këtë hendek dhe t'u jepte 23 | përkthyesve një mjet të dobishëm, i cili mund të përmirësonte 24 | cilësinë e përkthimeve të tyre dhe të rriste vijueshmërinë në terminologjinë 25 | e software-eve me burim të hapur. 26 |

27 | -------------------------------------------------------------------------------- /server/sv/whatfor.html: -------------------------------------------------------------------------------- 1 |

Varför Open-Tran.eu?

2 |

3 | Företag som utvecklar kommersiell mjukvara använder (om de har råd) 4 | datorstödd översättning (CAT) eller 5 | översättningsminnen (TM) för att 6 | säkerställa en konsekvent terminologi i sina tillämpningar. Tyvärr 7 | är många mjukvaruföretag ovilliga att 8 | dela med sig av sin kunskap (däribland översättningsminnets innehåll) 9 | till andra. 10 |

11 |

12 | På detta område kan programvara med öppen källkod lyckas bättre än 13 | kommersiell programvara. Den kan, men har inte gjort det hittills. Trots 14 | att alla har full tillgång till översättningar från många program med öppen 15 | källkod, har denna fördel nästan aldrig utnyttjats. Kunskapen hos 16 | hundratals (om inte tusentals) människor som översätter applikationer till 17 | sina egna språk är inte samordnad och därför knappast 18 | tillgänglig för andra. Det är därför översättningen 19 | av till och med de mest populära programmen är 20 | inbördes inkonsekventa, vilket avskräcker folk från att använda 21 | dem. 22 |

23 |

24 | Jag hoppas att Open-Tran.eu ska fylla detta gap och 25 | erbjuda översättare ett användbart redskap, som kan öka 26 | kvaliteten i deras översättningar och göra terminologin 27 | mer konsekvent i programvara med öppen källkod. 28 |

29 | -------------------------------------------------------------------------------- /server/it/info.html: -------------------------------------------------------------------------------- 1 |

Perché Open-Tran.eu?

2 |

3 | I produttori di software proprietario possono usare (se se lo possono permettere) 4 | programmi di CAT o 5 | TM per assicurare la consistenza 6 | della terminologia usata nelle loro applicazioni. Sfortunatamente, ci 7 | sono molti produttori diversi di software che non intendono condividere la 8 | loro conoscenza (che include, tra l'altro, le banche dati terminologiche) 9 | con tutti. 10 |

11 |

12 | Questo è un ulteriore esempio di come il Software Libero potrebbe essere 13 | migliore del proprietario. Potrebbe, ma non è così. Nonostante tutti abbiano 14 | il pieno accesso alle traduzioni di molti programmi liberi, quasi nessuno 15 | ne approfitta di questa possibilità. La conoscenza di centinaia (se non migliaia) 16 | di persone che traducono le applicazioni nella loro lingua madre non è centralizzata 17 | e quindi difficilmente disponibile a tutti. Questo è il motivo per cui le 18 | traduzioni, anche dei programmi più famosi, non sono consistenti e per questo non 19 | incoraggiano i futuri utenti del Software Libero. 20 |

21 |

22 | Vorrei che il servizio Open-Tran.eu colmasse questa mancanza e fornisse 23 | ai traduttori strumenti utili che possano migliorare la qualità 24 | delle loro traduzioni ed aumentare la consistenza della terminologia usata 25 | nel Software Libero. 26 |

27 | -------------------------------------------------------------------------------- /server/ka/whatfor.html: -------------------------------------------------------------------------------- 1 |

რისთვის Open-Tran.eu?

2 |

3 | პატენტირებული პროგრამების მწარმოებლებს საკუთარ პროგრამებში გამოყენებული 4 | ტერმინოლოგიის დამკვიდრება/განმტკიცების მიზნით CAT 5 | ან TM-ის ტიპის პროგრამების გამოყენება ძალუძთ (თუკი ამის საშუალება გააჩნიათ რა თქმა უნდა). 6 | სამწუხაროდ, ამ სოფტ-მწარმოებელთა უმრავლესობას არ სურს დაგროვილი ცოდნის და გამოცდილების სხვასთან გაზიარება (ცოდნაში მოიაზრება 7 | თუნდაც თარგმანთა მონაცემების ბაზა - ე.წ. Translation Memory). 8 |

9 |

10 | სწორედ ამ სიტუაციაში შეიძლება გამოვლინდეს ღია კოდზე დაფუძნებული პროგრამის (open source software) 11 | უპირატესობა პატენტირებულ პროგრამებთან შედარებით. მაგრამ ეს ასე როდია. მიუხედავად იმისა, 12 | რომ “open source software“-ის თარგმნა ყველასათვის ხელმისაწვდომია, ამ შესაძლებლობით ნაკლებად 13 | სარგებლობენ. ასობით თუ არა ათასობით ადამიანთა თარგმნის პროცესი არ არის ცენტრალიზებული 14 | და აქედან გამომდინარე ხელმიუწვდომელია დაინტერესებული პირებისათვის. ამ მიზეზის გამო ხდება ის, 15 | რომ ყველაზე ცნობილი პროგრამების თარგმანებიც კი ერთმანეთს არ ემთხვევა და მათი სარგებლობის 16 | სურვილი ნაკლებად ჩნდება ფართო მომხმარებელთა შორის. 17 |

18 |

19 | ვიმედოვნებ, რომ სწორედ Open-Tran.eu-ის დახმარებით ეს მდგომარეობა გამოსწორდება და მისი 20 | საშუალებით პროგრამების ლოკალიზატორები უზრუნველყოფილ იქნებიან ყველა იმ აუცილებელი ბერკეტით, 21 | რომელიც მათი თარგმანის ხარისხის გააუმჯობესებასთან ერთად ხელს შეუწყობს “ღია წყაროზე დაფუძნებული პროგრამების“ 22 | ტერმინოლოგიის განმტკიცება-დამკვიდრებას. 23 |

24 | -------------------------------------------------------------------------------- /server/be_latin/whatfor.html: -------------------------------------------------------------------------------- 1 |

Adkul uziałosia Open-Tran.eu?

2 |

3 | Vytvorcy kamercyjnaha prahramnaha zabiaśpiečańnia mohuć (kali 4 | jany dastatkova bahatyja) vykarystoŭvać prahramy typu 5 | CAT albo 6 | TM, dziakujučy čamu 7 | terminalohija ichnich aplikacyjaŭ dastatkova dahledžanaja. 8 | Adnak vytvorcaŭ kamercyjnych prahramaŭ davoli šmat, i čaściakom 9 | jany nie asabliva žadajuć dzialicca miž saboj viedami - naprykład 10 | bazami źviestak terminalohii. 11 |

12 |

13 | Mienavita tamu prahramnaje zabiespiačeńnie open source moža być 14 | lepšym za kamercyjnaje. Moža, ale takim nie źjaŭlajecca. I chacia 15 | ŭsie my majem poŭny dostup da pierakładaŭ šmatlikich prahramaŭ, 16 | redka chto im karystajecca. Viedy sotniaŭ (kali nia tysiačaŭ) 17 | asobaŭ, jakija pierakładajuć aplikacyi open source na nacyjanalnyja 18 | movy, nie centralizavanyja, a "nałamać drovaŭ" u vypadku lakalizacyi 19 | niaciažka. Mienavita tamu ŭ pierakładach navat najbolš papularnych 20 | prahramaŭ zaŭvažny raznaboj, a heta ŭ peŭnaj stupieni ŭpłyvaje na 21 | nia nadta prychilnaje staŭleńnie karystalnikaŭ da prahramaŭ 22 | z adkrytym kodam. 23 |

24 |

25 | Chaciełasia b, kab servis Open-Tran.eu zapoŭniŭ hety prahał i staŭsia 26 | pryładaj, jakaja papravić jakaść pierakładaŭ, dazvolić zrabić 27 | terminalohiju ŭ lakalizavanych prahramach z adkrytym kodam bolš 28 | dahledžanaj. 29 |

30 | -------------------------------------------------------------------------------- /server/ar/whatfor.html: -------------------------------------------------------------------------------- 1 |
2 |

ما الهدف مِن Open-Tran.eu؟

3 |

4 | يقوم منتجو البرامج الربحيّة (إذا توفرت لديهم القدرة المالية) باستخدام برامج 5 | CAT أو 6 | TM لضمان تحقيق التناغم و الانسجام في المصطلحات المستخدمة في برامجهم. و لسوء الحظ فإن العديد مِن منتجي البرامج الحاسوبية غير مستعدين لإشراك غيرهم بالمعرفة التي بين أيديهم (و يتضمّن ذلك قواعد بيانات الذاكرة المستخدمة في الترجمة). 7 |

8 |

9 | و لذلك فإنه و في هذا المجال بالتحديد يمكن للبرامج مفتوحة المصدر أن تثبت 10 | أفضليّتها و تميّزها على البرامج الربحية التجارية. و لكنه ما زال أمام 11 | البرامج المفتوحة المصدر أن تقطع شوطاً طويلاً في ذلك المجال لتتفوّق على 12 | البرامج التجارية. فبالرغم مِن إمكانية حصول الجميع و دون قيود على الترجمات 13 | المتوفرة للبرامج مفتوحة المصدر، إلا أنه مِن النادر أن يلجأ المعنييون إلى 14 | استغلال هذه الفرصة. فالمشكلة تكمُن في عدم مركزية و عدم توحيد مرجعية 15 | المعرفة المتوفّرة لدى مئات بل آلاف الأشخاص الذين يقومون بترجمة البرامج 16 | المختلفة إلى لغتهم الأمّ ممّا يؤدّي إلى عدم توفّر تلك الترجمة بشكلٍ 17 | ملائمٍ للمعنيين. و لهذا السبب نجد ضعف الانتظام و التناغم حتى بين ترجمات 18 | أكثر البرامج شهرة، ممّا يؤدّي بالناس إلى العزوف عن استخدامها. 19 |

20 |

21 | و إن أملي هو أن أتمكّن و مِن خلال خدمة Open-Tran.eu أن أعمل على رأب هذا الصّدع و ذلك بتزويد المترجمين بأداةٍ مفيدة لتمكينهم مِن الارتقاء بجودة الترجمات التي يكتبونها و زيادة مقدار الانتظام و التناغم في الاصطلاحات المستخدمة في مجال البرامج مفتوحة المصدر. 22 |

23 |
24 | -------------------------------------------------------------------------------- /import/audit_step2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # Copyright (C) 2008 Jacek Śliwerski (rzyjontko) 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; version 2. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU General Public License 15 | # along with this program; if not, write to the Free Software Foundation, 16 | # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | 18 | import sys 19 | from sqlite3 import dbapi2 as sqlite 20 | from common import LANGUAGES, pretty_int 21 | 22 | 23 | datadir = sys.argv[1] 24 | 25 | 26 | conn = sqlite.connect(datadir + '/ten.db') 27 | cur = conn.cursor() 28 | 29 | print ''' 30 |
31 |

Languages

32 | 33 | 34 | 35 | ''' 36 | 37 | cur.execute(""" 38 | SELECT lang, count(*) 39 | FROM phrases 40 | GROUP BY lang 41 | ORDER BY lang""") 42 | for (lang, cnt) in cur.fetchall(): 43 | if not lang in LANGUAGES: 44 | continue 45 | print (u'' % (lang, lang, LANGUAGES[lang], pretty_int(cnt))).encode('utf-8') 46 | 47 | cur.close() 48 | conn.close() 49 | 50 | print ''' 51 |
CodeLanguageCount
%s%s%s
52 |
53 | ''' 54 | -------------------------------------------------------------------------------- /server/gl/whatfor.html: -------------------------------------------------------------------------------- 1 |

Por que Open-Tran.eu?

2 |

3 | Os vendedores de sóftware privativo poden (de ter cartos) usar 4 | programas de CAT ou 5 | TM para garantir a 6 | consistencia léxica das súas aplicacións. 7 | Por desgraza, hai moitos vendedores de sóftware que non desexan 8 | partillar o seu coñecimento (que inclúe bases de datos con 9 | memorias de tradución). 10 |

11 |

12 | E aquí é onde o sóftware de fontes abertas pode 13 | demostrar 14 | ser mellor que o privativo. Pode, pero non o fai. Aínda que todos 15 | temos aceso completo ás traducións de moitos programas de 16 | fontes abertas, esta oportunidade caseque nunca é usada. 17 | O coñecimento de centos (se non miles) de persoas que traducen 18 | programas á súa língua non está centralizado 19 | e por ende é de difícil aceso para outras persoas. Este 20 | é o motivo polo que as traducións mesmo dos programas 21 | máis populares non son consistentes entre elas, o que fai que 22 | algúns usuarios non as usen. 23 |

24 |

25 | Gostaríame que o servizo Open-Tran.eu enchese este oco fornecendo 26 | unha poderosa ferramenta aos tradutores, que pode mellorar a calidade das 27 | súas traducións e aumentar a consistencia léxica no 28 | sóftware de fontes abertas. 29 |

30 | -------------------------------------------------------------------------------- /server/ca/whatfor.html: -------------------------------------------------------------------------------- 1 |

Per què Open-Tran.eu?

2 |

3 | Els venedors de programari propietari (si s'ho poden permetre) acostumen 4 | a utilitzar CAT o 5 | TM per tal de garantir 6 | la consistència de la terminologia de la seva aplicació. Desafortunadament, 7 | hi ha un gran nombre de venendors de programari diversos que no volen compartir el seu 8 | coneixement (inclús les memòries de traducció) amb els altres. 9 |

10 |

11 | I aquí és on el programari de codi obert podria demostrar ser millor que 12 | el propietari. Podria, però no ho és. Encara que tothom té lliure 13 | accés a les traduccions de diversos programes de codi obert, aquesta oportunitat 14 | no s'utilitza casi mai. El coneixement de centenars (si no milers) de persones traduint 15 | aplicacions a la seva llengua materna no està centralitzat i per tant és 16 | difícilment accesible als altres. Aquest és el motiu pel que les traduccions 17 | de fins i tot els programes més populars no coincideixen les unes amb les altres, cosa 18 | que desanima a la gent de fer-ne ús. 19 |

20 |

21 | M'agradaria que el 22 | servei d'Open-Tran.eu ompli aquest buit i proveeixi una eina útil per 23 | als traductors, per tal que puguin millorar la qualitat de les seves 24 | traduccions i augmentar la consistència de la terminologia emprada en el 25 | programari de codi obert. 26 |

27 | -------------------------------------------------------------------------------- /server/el/whatfor.html: -------------------------------------------------------------------------------- 1 |

Γιατί το Open-Tran.eu;

2 |

3 | Πολλές εταιρίες ιδιοταγούς λογισμικού χρησιμοποιούν (αν έχουν την οικονομική δυνατότητα) 4 | λογισμικό 5 | CAT 6 | ή TM για να 7 | εξασφαλίσουν την σταθερότητα της ορολογίας των εφαρμογών τους. Δυστυχώς, 8 | υπάρχουν πολλές εταιρίες λογισμικού που δεν προτίθενται να μοιραστούν τη 9 | γνώση τους (που συμπεριλαμβάνει τις βάσεις δεδομένων μεταφραστικής μνήμης) 10 | με άλλους. 11 |

12 |

13 | Και εδώ είναι που το λογισμικό ανοιχτού κώδικα θα μπορούσε να αποδείξει πως 14 | είναι καλύτερο από το ιδιοταγές. Θα μπορούσε, αλλά δεν το κάνει. Παρόλο που 15 | οποιοσδήποτε έχει πρόσβαση στις μεταφράσεις πολλών εφαρμογών ανοιχτού κώδικα, 16 | αυτή η ευκαιρία σπάνια χρησιμοποιείται. Η γνώση εκατοντάδων (αν όχι χιλιάδων) 17 | ανθρώπων που μεταφράζουν εφαρμογές στις τοπικές τους γλώσσες δεν είναι 18 | συγκεντρωμένη και επομένως είναι σπάνια διαθέσιμη σε άλλους. Αυτός είναι ο 19 | λόγος που οι μεταφράσεις, ακόμη και των πιο δημοφιλών εφαρμογών, δεν χρησιμοποιούν 20 | σταθερή ορολογία η μία με την άλλη, πράγμα που αποθαρρύνει τον κόσμο να τις 21 | χρησιμοποιήσει. 22 |

23 |

24 | Θα ήθελα η υπηρεσία Open-Tran.eu να συμπληρώσει αυτό το κενό και να παρέχει 25 | στους μεταφραστές ένα χρήσιμο εργαλείο, που μπορεί να βελτιώσει την ποιότητα 26 | των μεταφράσεών τους και να αυξήσει την σταθερότητα της ορολογίας στο λογισμικό 27 | ανοιχτού κώδικα. 28 |

29 | -------------------------------------------------------------------------------- /server/fi/miksi.html: -------------------------------------------------------------------------------- 1 |

Miksi Open-Tran.eu?

2 | 3 | 4 |

Kaupalliset ohjelmistovalmistajat voivat (jos niillä on varaa) käyttää CAT- tai TM-ohjelmistoa 5 | varmistaakseen sovelluksiensa terminologian 6 | johdonmukaisuuden. Valitettavasti monet eri ohjelmistovalmistajat eivät ole halukkaita jakamaan 7 | tietämystään, johon kuuluu käännösmuistitietokannat, muiden kanssa.

8 | 9 | 10 |

Juuri tässä avoimen lähdekoodin ohjelmistot 11 | voisivat todistaa olevansa parempia kuin kaupalliset ohjelmistot. 12 | Voisivat, mutta eivät. Vaikka kaikilla on rajoittamaton 13 | pääsy monien avoimen lähdekoodin ohjelmien 14 | käännöksiin, tätä mahdollisuutta 15 | käytetään harvoin. Satojen (ellei tuhansien) ihmisten 16 | tietämystä sovellusten kääntämisestä 17 | eri kielille ei ole keskitetty ja siksi se on muille vaikeasti 18 | saatavilla. Tämän takia jopa kaikista suosituimpien 19 | ohjelmien käännökset eivät ole johdonmukaisia 20 | toistensa kanssa, mikä pelottelee ihmisiä 21 | käyttämästä niitä.

22 | 23 | 24 |

Haluaisin Open-Tran.eu-palvelun 25 | täyttävän tämän aukon ja tarjoavan 26 | kääntäjille hyödyllisen työkalun, jolla 27 | kohentaa heidän käännöstensä laatua sekä 28 | kasvattaa avoimen lähdekoodin ohjelmien terminologian 29 | johdonmukaisuutta.

30 | -------------------------------------------------------------------------------- /server/he/help.html: -------------------------------------------------------------------------------- 1 |

תרגום מונחים בודדים

2 |
    3 |
  1. 4 | תוכל להוסיף מנוע חיפוש (בדוק את 5 | התרגומים המוצעים) לכל דפדפן אינטרנט מודרני. 6 |
    7 | Open Search 8 |
  2. 9 |
  3. 10 | זהו אינו סוד שטופס החיפוש מזין כתובת במבנה הבא: 11 | http://xx.open-tran.eu/suggest/search engine. 12 |
  4. 13 |
  5. 14 | משתמשי פיירפוקס יכולים להוסיף סימניה עם מילת מפתח. על 15 | מנת לעשות זאת יש לפתוח את חלון "סידור הסימניות" 16 | מתפריט ה-"סימניות" ולהוסיף אחת חדשה כדלקמן:

    17 | screenshot

    18 | כעת, הזנת כתובת מהצורה תרג מונח תשלח 19 | שאילתת חיפוש אוטומטית. 20 |
  6. 21 |
22 | 23 | 24 |

XML RPC

25 |

26 | תוכל להשתמש בשירות זה עם כל תוכנית המסוגלת לקרוא 27 | להליך מרוחק דרך פרוטוקול ה- 28 | XML RPC. עליך 29 | להשתמש בשיטת ההצעה, הלוקחת שני 30 | משתנים: מונח לתרגום ואת קוד שפת היעד. 31 |

32 |

33 | ב-Python, תוכל להשתמש בדרך הבאה: 34 |

35 |
36 |       from xmlrpclib import ServerProxy
37 | 
38 |       lang = "he" # replace with your language code
39 |       server = ServerProxy("http://open-tran.eu/RPC2")
40 |       for sugg in server.suggest("save as", lang):
41 |           print sugg
42 |     
43 |

44 | אני אנסה להעלות עורך .po פשוט ברגע שאוכל לקבל 45 | הצעות מהשרת באמצעות מנגנון זה. 46 |

47 | -------------------------------------------------------------------------------- /old/next_word.sql: -------------------------------------------------------------------------------- 1 | drop trigger add_words on canonicalphrases; 2 | drop function next_word(text); 3 | drop function shorten(text,int); 4 | drop function add_words(); 5 | 6 | create function next_word(text) returns varchar(50) 7 | as' 8 | DECLARE 9 | phrase ALIAS FOR $1; 10 | trstr text; 11 | offset int; 12 | result varchar(50); 13 | BEGIN 14 | trstr := trim (leading from phrase); 15 | IF char_length(trstr) = 0 THEN 16 | RETURN NULL; 17 | END IF; 18 | offset := position ('' '' in trstr); 19 | IF offset = 0 THEN 20 | RETURN NULL; 21 | END IF; 22 | result := substring (trstr for offset); 23 | RETURN trim (trailing from result); 24 | END; 25 | ' 26 | language 'plpgsql'; 27 | 28 | create function shorten(text,int) returns text 29 | as' 30 | DECLARE 31 | phrase ALIAS FOR $1; 32 | offset ALIAS FOR $2; 33 | new_phrase text; 34 | BEGIN 35 | new_phrase := trim (leading from phrase); 36 | RETURN substring(new_phrase from offset); 37 | END; 38 | ' 39 | language 'plpgsql'; 40 | 41 | create function add_words() returns trigger 42 | as' 43 | DECLARE 44 | nword varchar(50); 45 | phrase text; 46 | length int; 47 | cnt int default 0; 48 | BEGIN 49 | IF NEW.phrase IS NULL THEN 50 | RETURN NEW; 51 | END IF; 52 | phrase := NEW.phrase || '' ''; 53 | LOOP 54 | nword := next_word(phrase); 55 | EXIT WHEN nword IS NULL; 56 | INSERT INTO words (canonicalid, word) VALUES (NEW.id, nword); 57 | cnt := cnt + 1; 58 | length := char_length(nword) + 1; 59 | phrase := shorten(phrase, length); 60 | END LOOP; 61 | UPDATE canonicalphrases SET wordcount = cnt WHERE id = NEW.id; 62 | RETURN NEW; 63 | END; 64 | ' 65 | language 'plpgsql'; 66 | 67 | create trigger add_words after insert on canonicalphrases 68 | for each row execute procedure add_words(); 69 | -------------------------------------------------------------------------------- /old/find.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.4 2 | # -*- coding: utf-8 -*- 3 | 4 | import sys 5 | 6 | from pyPgSQL import PgSQL 7 | from optparse import OptionParser 8 | from phrase import Phrase, Handlers 9 | 10 | conn = PgSQL.connect(database = 'trans3', client_encoding = 'utf-8', unicode_results = 1) 11 | cursor = conn.cursor() 12 | cursor.execute("set client_encoding to unicode") 13 | 14 | parser = OptionParser() 15 | parser.add_option("-s", "--source", dest="source", help="use LANG as source language", metavar="LANG", default="C") 16 | parser.add_option("-d", "--destination", dest="destination", help="use LANG as destination language", metavar="LANG", default="pl") 17 | parser.add_option("-l", "--limit", dest="limit", help="show top N results", metavar="N", default=10) 18 | 19 | (options, args) = parser.parse_args() 20 | 21 | sentence = ' '.join(args) 22 | phrase = Phrase(sentence, Handlers().resolve(options.source)) 23 | 24 | query = u"""select dc.id as id, dc.phrase as phrase, min(sp.note) as note, count(*) as cnt 25 | from 26 | ( 27 | select sp.locationid, sp.phrase, 28 | sc.wordcount - sw.occ - sw.cnt as note 29 | from 30 | ( 31 | select canonicalid, count(*) as cnt, sum(occurences) as occ 32 | from words 33 | where word in %s 34 | group by canonicalid 35 | ) as sw join canonicalphrases sc on sw.canonicalid = sc.id join phrases sp on sp.canonicalid = sc.id 36 | where sp.language = %s 37 | ) as sp join phrases dp on sp.locationid = dp.locationid 38 | join canonicalphrases dc on dc.id = dp.canonicalid 39 | where dp.language = %s 40 | group by dc.id, dc.phrase 41 | order by note asc, cnt desc 42 | limit %s 43 | """ 44 | 45 | cursor.execute(query, (phrase.canonical_list(), options.source, options.destination, options.limit)) 46 | 47 | for row in cursor.fetchall(): 48 | print " *", repr(row.phrase) 49 | -------------------------------------------------------------------------------- /server/sr/help.html: -------------------------------------------------------------------------------- 1 |

Превођење појединачних реченица

2 |
    3 |
  1. 4 | Можете да додате претраживач (погледајте 5 | предложене преводе) у било који модерни прегледач. 6 |
    7 | Open Search 8 |
  2. 9 |
  3. 10 | Није тајна да адреса претраживача изгледа као: 11 | http://sr.open-tran.eu/suggest/search engine. 12 |
  4. 13 |
  5. 14 | Корисници Фајерфокса могу додати забелешку за кључном речи. Да бисте то урадили, отворите мени „Забелешке” и изаберите ставку „Уреди забелешке”, па додајте следеће:

    15 | screenshot

    16 | Сада ћете уношењем адресе у образац tran phrase аутоматски да убаците претрагу. 17 |
  6. 18 |
19 | 20 | 21 |

XML RPC

22 |

23 | Ову услугу можете да користите са било којим програмом који може позивати даљинску процедуру преко 24 | XML RPC протокола. Требали бисте да користите метод suggest, који користи два аргумента: реченицу за превођење и кôд језика.

25 |

26 | У Питону користите на следећи начин: 27 |

28 |
29 |       from xmlrpclib import ServerProxy
30 | 
31 |       lang = "sr" # замените са кодом свог језика
32 |       server = ServerProxy("http://open-tran.eu/RPC2")
33 |       for sugg in server.suggest("save as", lang):
34 |           print sugg
35 |     
36 |

37 | Покушаћу да ускоро пошаљем једноставни .po уређивач који ће моћи 38 | повлачити предлоге са послужитеља користећи овај механизам. 39 |

40 | -------------------------------------------------------------------------------- /server/sr_latn/help.html: -------------------------------------------------------------------------------- 1 |

Prevođenje pojedinačnih rečenica

2 |
    3 |
  1. 4 | Možete da dodate pretraživač (pogledajte 5 | predložene prevode) u bilo koji moderni pregledač.

    6 | screenshot

    7 |
  2. 8 |
  3. 9 | Nije tajna da adresa pretraživača izgleda kao: 10 | http://xx.open-tran.eu/suggest/search engine. 11 |
  4. 12 |
  5. 13 | Korisnici fajerfoksa mogu dodati zabelešku za ključnom reči. Da biste to uradili, otvorite meni „Zabeleške“ i izaberite stavku „Uredi zabeleške...“, pa dodajte sledeće:

    14 | screenshot

    15 | Sada ćete unošenjem adrese u obrazac tran phrase automatski ubaciti pretragu. 16 |
  6. 17 |
18 | 19 | 20 |

XML RPC

21 |

22 | Ovu uslugu možete da koristite s bilo kojim programom koji može pozivati daljinsku proceduru preko 23 | XML RPC protokola. Trebali biste da koristite metod suggest, koji koristi dva argumenta: rečenicu za prevođenje i kôd jezika.

24 |

25 | U pitonu koristite na sledeći način: 26 |

27 |
28 |       iz xmlrpclib uvezite ServerProxy
29 | 
30 |       lang = "sr_RS" # zamenite s kodom svog jezika
31 |       server = ServerProxy(„http://open-tran.eu/RPC2“)
32 |       za „sugg“ u server.suggest("save as", lang):
33 |           odštampaj sugg
34 |     
35 |

36 | Pokušaću da uskoro pošaljem jednostavni .po uređivač koji će moći 37 | da podvlači predloge sa poslužitelja koristeći ovaj mehanizam. 38 |

-------------------------------------------------------------------------------- /server/hu/help.html: -------------------------------------------------------------------------------- 1 |

Egyszerű szavak fordítása

2 |
    3 |
  1. 4 | Minden modern böngésző lehetővé teszi új keresőszolgáltatások (fordítási javaslatok) hozzáadását.
  2. 5 |
    6 | Open Search 7 |
  3. 8 | Nem titok, hogy a keresés a következők alapján történik: 9 | http://hu.open-tran.eu/search/search engine.
  4. 10 |
  5. 11 | A Firefox felhasználók adott kulcsszót tartalmazó új könyvjelző hozzáadásával tehetik ezt meg. Megteheti ezt Ön is. 12 | Nyissa meg a "Könyvjelzőkezelő" ablakot a 13 | "Könyvjelzők" menüből és hozzon létre egy új könyvjelzőt az alábbiak szerint:

    14 | kép
    15 |
    16 | Már csak a tran kulcsszó megadása marad hátra, hogy a keresés elkezdődjön.
  6. 17 |
18 | 19 | 20 |

XML RPC

21 |

22 | Használhatja ezt a szolgáltatást bármilyen alkalmazással, amely képes 23 | távoli eljárások hívására a 24 | XML RPC protokol segítségével. Használja 25 | a suggest módszert, amely két paramétert tartalmaz: 26 | a fordítani kívánt szót és a célnyelv kódját. 27 |

28 |

29 | Python esetében használja a következő képpen: 30 |

31 |
32 |       from xmlrpclib import ServerProxy
33 | 
34 |       lang = "pt_BR" # írja felül a saját nyelvének megfelelő kóddal
35 |       server = ServerProxy("http://open-tran.eu/RPC2")
36 |       for sugg in server.suggest("save as", lang):
37 |           print sugg
38 |     
39 |

40 | A közeljövőben feltöltünk egy egyszerű .po szerkesztőt, ami lehetővé teszi a javaslatok átvételét a szerverről az előző módszer segítségével. 41 |

42 | -------------------------------------------------------------------------------- /lib/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007 Jacek Śliwerski (rzyjontko) 2 | # 3 | # This program is free software; you can redistribute it and/or modify 4 | # it under the terms of the GNU General Public License as published by 5 | # the Free Software Foundation; version 2. 6 | # 7 | # This program is distributed in the hope that it will be useful, 8 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | # GNU General Public License for more details. 11 | # 12 | # You should have received a copy of the GNU General Public License 13 | # along with this program; if not, write to the Free Software Foundation, 14 | # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | 16 | include ../config.mak 17 | 18 | DEPDIR = .deps 19 | 20 | DEFINES += -D_GNU_SOURCE=1 21 | CFLAGS += -Wall -fpic 22 | INCLUDES = 23 | COMPILE = LANG=C gcc $(CFLAGS) $(DEFINES) 24 | LDFLAGS = -lsqlite3 25 | 26 | TRANOBJS = xmalloc.o hash.o phrase.o storage.o 27 | OBJS = xmalloc.o hash.o phrase.o opentran.o 28 | 29 | all: libopentran.so tran 30 | 31 | libopentran.so: $(OBJS) 32 | @echo "LD $@" 33 | $(Q)gcc -shared $(LDFLAGS) -o $@ $^ 34 | 35 | tran: $(TRANOBJS) main.o 36 | @echo "LD $@" 37 | $(Q)gcc $(LDFLAGS) -o $@ $^ 38 | 39 | _tran.so: $(TRANOBJS) tran.o 40 | @echo "LD $@" 41 | $(Q)gcc -shared $(LDFLAGS) -o $@ $^ 42 | 43 | tran.c: tran.i 44 | @echo "SWIG $@" 45 | $(Q)swig -python -o $@ $^ 46 | 47 | .c.o: 48 | @echo "CC $@" 49 | $(Q)if $(COMPILE) -MT $@ -MP -MF "$(DEPDIR)/$*.Tpo" -MD \ 50 | -c -o $@ $<; then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.po"; \ 51 | else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi 52 | 53 | clean: 54 | rm -f *.so *.o tran.c tran.py *.pyc 55 | 56 | include $(DEPDIR)/hash.po 57 | include $(DEPDIR)/main.po 58 | include $(DEPDIR)/xmalloc.po 59 | include $(DEPDIR)/phrase.po 60 | include $(DEPDIR)/storage.po 61 | include $(DEPDIR)/tran.po 62 | include $(DEPDIR)/opentran.po 63 | -------------------------------------------------------------------------------- /import/update-mozilla.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | data_root="$1" 4 | mozilla_root="$data_root/comm-central" 5 | mozilla_l10n="$data_root/mozilla-l10n" 6 | mozilla_po="$data_root/mozilla-po" 7 | 8 | cd $data_root 9 | 10 | if [ ! -d $mozilla_root ]; then 11 | hg clone http://hg.mozilla.org/comm-central/ 12 | fi 13 | cd $mozilla_root 14 | python client.py checkout 15 | 16 | cd $mozilla_l10n 17 | for lang in `cat $mozilla_root/mozilla/browser/locales/all-locales`; do 18 | if [ ! -d $mozilla_l10n/$lang ]; then 19 | hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/$lang 20 | else 21 | hg pull $lang 22 | fi 23 | done 24 | 25 | if [ ! -d $mozilla_po ]; then 26 | mkdir $mozilla_po 27 | fi 28 | 29 | rm -rf $mozilla_l10n/en-US 30 | rm -rf $mozilla_po/* 31 | mkdir $mozilla_l10n/en-US 32 | 33 | moz_copy () { 34 | last=`basename $1` 35 | cp -r $mozilla_root/$1/locales/en-US $mozilla_l10n/en-US/$last 36 | } 37 | 38 | moz_copy2 () { 39 | last=`basename $1` 40 | if [ -z "$2" ]; then 41 | target=$1 42 | else 43 | target=$2 44 | fi 45 | first=`dirname $target` 46 | if [ ! -d $mozilla_l10n/en-US/$first ]; then 47 | mkdir $mozilla_l10n/en-US/$first 48 | fi 49 | cp -r $mozilla_root/$1/locales/en-US $mozilla_l10n/en-US/$target 50 | } 51 | 52 | set -e 53 | 54 | moz_copy mozilla/browser 55 | moz_copy calendar 56 | moz_copy2 editor/ui 57 | moz_copy mozilla/dom 58 | moz_copy2 mozilla/extensions/irc extensions/irc 59 | moz_copy2 mozilla/extensions/reporter extensions/reporter 60 | moz_copy2 mozilla/extensions/venkman extensions/venkman 61 | moz_copy mail 62 | moz_copy mozilla/netwerk 63 | moz_copy2 mozilla/security/manager security/manager 64 | moz_copy suite 65 | moz_copy mozilla/toolkit 66 | 67 | cd $mozilla_l10n 68 | for d in *; do 69 | if [ "$d" == "en-US" ]; then 70 | continue 71 | fi 72 | cd $data_root 73 | echo -n "$d..." 74 | moz2po --progress none -t "$mozilla_l10n/en-US" "$mozilla_l10n/$d" "$mozilla_po/$d" > /dev/null 75 | echo "done." 76 | done 77 | -------------------------------------------------------------------------------- /server/fr/whatfor.html: -------------------------------------------------------------------------------- 1 |

Pourquoi Open-Tran.eu ?

2 |

Les fournisseurs de logiciels 3 | propriétaires utiliseront (s'ils peuvent se le permettre 4 | financièrement) des programmes TAO 5 | (Article sur la TAO sur 6 | Wikipédia) ou TM 7 | (Mémoire de traduction) 8 | pour vérifier la cohérence de la terminologie de 9 | leurs applications. Malheureusement, de nombreux fournisseurs de 10 | logiciels ne souhaitent pas mettre à disposition leurs 11 | connaissances (y compris les bases de données TM) pour les 12 | partager avec les autres.

13 |

Voilà le point sur 14 | lequel les logiciels Open Source pourraient démontrer qu'ils 15 | sont meilleurs que les logiciels propriétaires. Cela 16 | pourrait se faire, mais ce n'est pas le cas. Même si tout le 17 | monde a accès aux traductions de plusieurs programmes Open 18 | Source, cette opportunité est à peine ou rarement 19 | utilisée. Les connaissances de centaines (pour ne pas dire 20 | de milliers) de personnes se chargeant de la traduction d'applications 21 | dans leur propre langue ne sont pas centralisées et ainsi 22 | difficilement accessibles aux autres. C'est pourquoi même les 23 | traductions des programmes les plus populaires ne sont pas 24 | cohérentes entre elles, ce qui a pour effet de 25 | décourager les personnes qui finalement ne les utilisent 26 | pas.

27 |

Je souhaiterais que le service 28 | Open-Tran.eu comble ce retard et fournisse un outil utile qui pourra 29 | permettre aux traducteurs d'optimiser la qualité de leurs 30 | traductions et ainsi, aux logiciels Open Source, d'améliorer 31 | la cohérence de leur terminologie.

32 | -------------------------------------------------------------------------------- /server/pl/pomoc.html: -------------------------------------------------------------------------------- 1 |

Tłumaczenie pojedynczych fraz

2 |
    3 |
  1. 4 | Do nowoczesnych przeglądarek można sobie dodać search engine 5 | (sprawdź 6 | proponowane tłumaczenia). 7 |
    8 | Open Search 9 |
  2. 10 |
  3. 11 | Oczywiście żadna to tajemnica, że okienko wyszukiwania po 12 | prostu wprowadza adres w postaci 13 | http://pl.open-tran.eu/suggest/search engine. 14 |
  4. 15 |
  5. 16 | Użytkownicy Firefoksa mogą sobie dodać zakładkę ze słowem 17 | kluczowym. Wchodzimy w tym celu w zarządzanie zakładkami i 18 | dodajemy nową w ten sposób:

    19 | screenshot

    20 | Od tej pory każdorazowe wpisanie adresu w postaci tran 21 | fraza spowoduje automatyczne wywołanie szukania. 22 |
  6. 23 |
24 | 25 | 26 |

XML RPC

27 |

28 | Z serwisu można korzystać dowolnym programem, który potrafi 29 | wykonać zdalne wywołanie przez protokół 30 | XML RPC. Należy w tym celu 31 | skorzystać z metody suggest, która pobiera dwa 32 | argumenty: pierwszy to fraza do tłumaczenia, a drugi to 33 | dwuliterowy kod języka, na który ma zostać przełożona (dla języka 34 | polskiego - "pl"). 35 |

36 |

37 | W Pythonie robi się to na przykład tak: 38 |

39 |
40 |       from xmlrpclib import ServerProxy
41 | 
42 |       server = ServerProxy("http://open-tran.eu/RPC2")
43 |       for sugg in server.suggest("save as", "pl"):
44 |           print sugg
45 |     
46 |

47 | Wkrótce postaram się umieścić prosty edytorek plików .po, który 48 | będzie przy pomocy tego mechanizmu pobierał podpowiedzi 49 | tłumaczeń poszczególnych fraz. 50 |

51 | -------------------------------------------------------------------------------- /server/be_latin/help.html: -------------------------------------------------------------------------------- 1 | 11 |

Pierakład paasobnych fraz

12 |
    13 |
  1. 14 | U sučasnych hartačoch isnuje mahčymaść dadać pošuk 15 | (pravier prapanavananyja pierakłady) 16 |
    17 | Open Search 18 |
  2. 19 |
  3. 20 | Nie sakret, što akno pošuku prosta ŭvodzić adras URL 21 | u vyhladzie http://be-latin.open-tran.eu/suggest/search engine. 22 |
  4. 23 |
  5. 24 | Karystalniki Firefoksa mohuć dadać zakładku z klučavym 25 | słovam. Kab heta zrabić, uvachodzim u nałady zakładak 26 | i dadajem novuju takim čynam:

    27 | screenshot

    28 | Ad hetaj pary pry kožnym napisańni tran fraza u poli 29 | URL, aŭtamatyčna ŭklučycca pošuk. 30 |
  6. 31 |
32 | 33 |

XML RPC

34 |

35 | Servisam možna karystacca pry dapamozie luboj prahramy, zdolnaj vykanać addaleny zahad praz pratakoł XML RPC. Z hetaj metaj treba skarystać metad suggest, jaki apracoŭvaje dva arhumenty: pieršy - heta fraza, jakuju treba pierakłaści, a druhi - heta kod movy, na jakuju maje adbycca pierakład (naprykład "be_latin"). 36 |

37 |

38 | U Pythonie heta robicca naprykład tak: 39 |

40 |
41 |  from xmlrpclib import ServerProxy
42 | 
43 |  lang = "be-latn" # zamianić na kod vašaj movy
44 |  server = ServerProxy("http://open-tran.eu/RPC2")
45 |  for sugg in server.suggest("save as", lang):
46 |  print sugg
47 | 
48 |

49 | Nieŭzabavie pastarajusia źmiaścić prosty redaktar fajłaŭ .po, jaki budzie pry dapamozie takoha mechanizmu šukać padkazki pry pierakładach paasobnych fraz. 50 |

51 | 52 | -------------------------------------------------------------------------------- /server/db.html: -------------------------------------------------------------------------------- 1 |

Database

2 |

3 | This service includes the information from translation files of 4 | several free and open-source projects. You may use the translation 5 | results in your own work as long as you provide it under the terms 6 | that do not violate the license of the respective project. 7 | For example, all the three projects carry the GPL license; therefore, if 8 | your program is also licensed under GPL-compatible terms, 9 | you have the freedom to use this service. If you have 10 | further questions, please consult the organisation behind your 11 | distribution license. 12 |

13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
ProjectBranchEnglish PhrasesTotal PhrasesLanguagesLicense
KDEstable101711561180488GPL(issues)
MozillaMOZILLA_1_8_BRANCH873138933846MPL/GPL/LGPL (issues)
GNOMEtrunk120574370764376GPL/LGPL
Debian Installerlevel1168511053570GPL
Cor Jousma 2404801Copyleft
22 | -------------------------------------------------------------------------------- /server/fy/help.html: -------------------------------------------------------------------------------- 1 | 12 |

It oersetten fan losse sinnen

13 |
    14 |
  1. 15 | Jo kinne in sykmasine (kar út foarstelde oersettings) oan eltse moderne webblêder taheakje. 16 |
    17 | Open Search 18 |
  2. 19 |
  3. 20 | It sykformulier wurdt ynfierd fia in URL mei it folgjende formaat: 21 | http://fy.open-tran.eu/suggest/search engine. 22 |
  4. 23 |
  5. 24 | Firefox-brûkers kinne in blêdwizer mei in kaaiwurd taheakje. Dêrfoar iepenje jo it finster "Organize Bookmarks" fan it menu "Bookmarks" en heakje de blêdwizer sa ta:

    25 | screenshot

    26 | As jo no it formulier tran phrase fia de URL ynfiere wurdt de sykfraach automatysk oanbean. 27 |
  6. 28 |
29 | 30 |

XML RPC

31 |

32 | Jo kinne dizze tsjinst brûke by alle programma's dy't ynsteat binne in remote-proseduere op te roppen fia it XML RPC foarskrift. Jo moatte de metoade suggest brûke, dy't twa arguminten freget: in sin om oer te setten en de winske taalkoade. 33 |

34 |

35 | Yn Python kinne jo it sa brûke: 36 |

37 |
38 |       from xmlrpclib import ServerProxy
39 | 
40 |       server = ServerProxy("http://open-tran.eu/RPC2")
41 |       for sugg in server.suggest("save as", "fy"):
42 |           print sugg
43 |     
44 |

45 | Ik sil besykje gau in ienfâldige po-tekstbewurker op it Web te laden dy't ynsteat is om fia sa'n mechanisme suggestjes fan de tsjinner te heljen. 46 |

47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /server/da/help.html: -------------------------------------------------------------------------------- 1 | 13 |

Oversætning af sætninger

14 |
    15 |
  1. 16 | Du kan tilføje en søgemaskine (checke foreslåede oversættelser) i hvilken som helst moderne browser. 17 |
    18 | Open Search 19 |
  2. 20 |
  3. 21 | Det er ingen hemmelighed at søge formularen benytter en URL med dette format: 22 | http://da.open-tran.eu/suggest/search engine. 23 |
  4. 24 |
  5. 25 | Firefox brugere kan tilføje et bogmærke med et nøgleord. For at gøre dette skal man vælge "Arranger Bogmærker" i "Bogmærker" menuen og tilføje et nyt bogmærke som her:

    26 | screenshot

    27 | Nu vil der ved at taste en URL i denne form tran phrase automatisk blive igangsat en søgning. 28 |
  6. 29 |
30 | 31 | 32 |

XML RPC

33 |

34 | Du kan benytte denne service i ethvert program der er i stand til at lave en "remote procedure" via 35 | XML RPC protokollen. Du skal bruge denne metode suggest, som tager to argumenter: en sætning og en kode for destinationssproget. 36 |

37 |

38 | I Python, kan du bruge følgende metode: 39 |

40 |
      
41 |       from xmlrpclib import ServerProxy
42 | 
43 |       server = ServerProxy("http://open-tran.eu/RPC2")
44 |       for sugg in server.suggest("save as", "da"):
45 |           print sugg
46 |     
47 |

48 | Jeg vil forsøge at uploade en simpel .po editor i nærmeste fremtid som vil være i stand til at hente forslag fra serveren med denne metode. 49 |

50 | -------------------------------------------------------------------------------- /server/csb/pomoc.html: -------------------------------------------------------------------------------- 1 | 13 |

Dolmaczënk pòjedińczëch frazów

14 |
    15 |
  1. 16 | Do mòdernëch przezérników mòże dodac search engine 17 | (sprôwdzë bédowóné dolmaczënczi). 18 |
    19 | Open Search 20 |
  2. 21 |
  3. 22 | Gwësno to niżódnô krajemnota, że òczénkò szëkbë prosto wprowôdzô adresã w sztaturze 23 | http://csb.open-tran.eu/suggest/search engine. 24 |
  4. 25 |
  5. 26 | Brëkòwnice Firefoksa mògą dodac załóżkã z kluczowim słowã. Żebë to zrobic, nót je wlezc w sprôwianié załóżkama ë dodac nową na nen ôrt:

    27 | screenshot

    28 | Òd terô pòwtôrzné kòżdą razą wpisanié adresë w sztaturze tran 29 | fraza sprawi aùtomatné wëwòłanié szëkbë. 30 |
  6. 31 |
32 | 33 | 34 |

XML RPC

35 |

36 | Z serwisu mòże brëkòwac równojaką programą, co rozmie robic daleczé wëwòłanié przez protokół 37 | XML RPC. Nót je w tim célu zwënégòwac metodã suggest, jaka pòbiérô dwa argùmentë: pierszi to fraza dlô dolmaczënkù, a drëdżi to dwa- abò trzëlëterowi kòd jãzëka, na jaczi mô òstac przedolmaczonô. 38 |

39 |

40 | W Pythonie robi sã to na przëmiôr tak: 41 |

42 |
43 |       from xmlrpclib import ServerProxy
44 | 
45 |       server = ServerProxy("http://open-tran.eu/RPC2")
46 |       for sugg in server.suggest("save as", "csb"):
47 |           print sugg
48 |     
49 |

50 | Wnetka dóm prosti editork lopków .po, jaczi mdze brëkùjąc nen werk pòbiérôł pòdpòwiescë dolmaczënków apartnëch frazów. 51 |

52 | -------------------------------------------------------------------------------- /server/sv/help.html: -------------------------------------------------------------------------------- 1 | 14 |

Översättning av enskilda fraser

15 |
    16 |
  1. 17 | Du kan lägga till en sökmotor (kolla 18 | föreslagna översättningar) i många moderna webbläsare. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | Det är ingen hemlighet att sökrutan leder till en URL på 24 | följande format: 25 | http://xx.open-tran.eu/suggest/search engine. 26 |
  4. 27 |
  5. 28 | Firefox-användare kan skapa ett bokmärke med ett nyckelord. För att 29 | göra detta måste man gå till "Ordna bokmärken" i 30 | menyn "Bokmärken" och lägga till ett nytt enligt följande:

    31 | screenshot

    32 | Efter detta, ska en URL på formen tran phrase 33 | automatiskt sända en sökfråga. 34 |
  6. 35 |
36 | 37 | 38 |

XML RPC

39 |

40 | Denna tjänst kan utnyttjas av program som klarar 41 | anropa en remote procedure via 42 | XML RPC-protokollet. 43 | Använd metoden suggest, som tar två 44 | parametrar: en fras som ska översättas och språkkoden för målspråket. 45 |

46 |

47 | I Python, kan den anropas så här: 48 |

49 |
50 |       from xmlrpclib import ServerProxy
51 | 
52 |       lang = "pt_BR" # replace with your language code
53 |       server = ServerProxy("http://open-tran.eu/RPC2")
54 |       for sugg in server.suggest("save as", lang):
55 |           print sugg
56 |     
57 |

58 | Jag hoppas kunna ladda upp en enkel .po-editor inom kort som kan 59 | hämta förslag från servern med den här funktionen. 60 |

61 | -------------------------------------------------------------------------------- /server/sl/help.html: -------------------------------------------------------------------------------- 1 | 13 |

Prevodi besednih zvez

14 |
    15 |
  1. 16 | V vsak novejši brskalnik lahko dodate iskalnik (oglejte si 17 | priporočene prevode). 18 |
    19 | Odprite iskanje 20 |
  2. 21 |
  3. 22 | Ni skrivnost, da iskalni obrazec pridobi spletni naslov v naslednji obliki: 23 | http://xx.open-tran.eu/suggest/search engine. 24 |
  4. 25 |
  5. 26 | Uporabniki Firefoxa lahko dodajo zaznamek s ključno besedo. Za to odprite 27 | okno upravljanja zaznamkov iz menija Zaznamki in dodajte nov vnos:

    28 | posnetek zaslona

    29 | Sedaj lahko vnesete spletni naslov v obliki tran besedna zveza, pritisnete Enter 30 | in prevod besedne zveze bo samodejno poiskan. 31 |
  6. 32 |
33 | 34 | 35 |

XML RPC

36 |

37 | To storitev lahko uporabite s katerimkoli programom, ki zmore poklicati oddaljen postopek 38 | preko protokola XML RPC. Uporabiti morate 39 | način suggest, ki sprejme dva argumenta: besedno zvezo, ki bi naj bila 40 | prevedena in kodo ciljnega jezika. 41 |

42 |

43 | V Pythonu jo lahko uporabite na naslednji način: 44 |

45 |
46 |       from xmlrpclib import ServerProxy
47 | 
48 |       lang = "pt_BR" # zamenjajte s kodo ciljnega jezika
49 |       server = ServerProxy("http://open-tran.eu/RPC2")
50 |       for sugg in server.suggest("save as", lang):
51 |           print sugg
52 |     
53 |

54 | Kmalu bom poskusil objaviti preprost urejevalnik datotek .po, ki bo zmogel pridobiti predloge 55 | iz strežnika z uporabo tega mehanizma. 56 |

57 | -------------------------------------------------------------------------------- /gui/Settings.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import ConfigParser, os 5 | 6 | class Value(object): 7 | def __init__(self, config, key): 8 | self.__config = config 9 | self.__key = key 10 | 11 | def get(self, conf): 12 | return self.__config.get(conf.SECTION, self.__key) 13 | 14 | def set(self, conf, value): 15 | self.__config.set(conf.SECTION, self.__key, value) 16 | 17 | 18 | class Hook: 19 | def __init__(self, fun, option): 20 | self.__fun = fun 21 | self.__option = option; 22 | 23 | def run(self, config): 24 | setattr(config, self.__option, self.__fun()) 25 | 26 | 27 | class Settings(object): 28 | SECTION = "user" 29 | 30 | def __init__(self): 31 | self.__hooks = [] 32 | lang = os.environ['LANG'].lower() 33 | lang = lang.split('.')[0] 34 | if lang[:2] == lang[3:]: 35 | lang = lang[:2] 36 | self.__config = ConfigParser.ConfigParser({"width": "640", 37 | "height": "480", 38 | "src_heigth" : "150", 39 | "dst_heigth" : "150", 40 | "correct_width" : "320", 41 | "file" : "", 42 | "folder" : "", 43 | "phrase_index" : "1", 44 | "lang" : lang, 45 | "dbpath" : "~/.open-tran"}) 46 | self.__config.read(os.path.expanduser('~/.open-tran/config')) 47 | if not self.__config.has_section(Settings.SECTION): 48 | self.__config.add_section(Settings.SECTION) 49 | for key in self.__config.options(Settings.SECTION): 50 | val = Value(self.__config, key) 51 | setattr(Settings, key, property(val.get, val.set)) 52 | 53 | 54 | def onquit(self): 55 | for hook in self.__hooks: 56 | hook.run(self) 57 | f = os.path.expanduser('~/.open-tran') 58 | if not os.path.exists(f): 59 | os.mkdir(f) 60 | f = open(f + '/config', 'w') 61 | self.__config.write(f) 62 | f.close() 63 | 64 | def register(self, fun, option): 65 | self.__hooks.append(Hook(fun, option)) 66 | -------------------------------------------------------------------------------- /server/en/help.html: -------------------------------------------------------------------------------- 1 | 14 |

Translating Single Phrases

15 |
    16 |
  1. 17 | You can add a search engine (check out 18 | suggested translations) to any modern web browser. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | It's not a secret that the search form enters a URL of the 24 | following format: 25 | http://xx.open-tran.eu/suggest/search engine. 26 |
  4. 27 |
  5. 28 | Firefox users may add a bookmark with a keyword. In order to 29 | do this one needs to open the "Organize Bookmarks" window from 30 | the "Bookmarks" menu and add a new one as follows:

    31 | screenshot

    32 | Now, entering a URL of the form tran phrase will 33 | automatically submit a search query. 34 |
  6. 35 |
36 | 37 | 38 |

XML RPC

39 |

40 | You can use this service with any program that is capable of 41 | calling a remote procedure via the 42 | XML RPC protocol. You 43 | should use the method suggest, which takes two 44 | arguments: a phrase to be translated and a destination language 45 | code. 46 |

47 |

48 | In Python, you can use it in the following way: 49 |

50 |
51 |       from xmlrpclib import ServerProxy
52 | 
53 |       lang = "pt_BR" # replace with your language code
54 |       server = ServerProxy("http://open-tran.eu/RPC2")
55 |       for sugg in server.suggest("save as", lang):
56 |           print sugg
57 |     
58 |

59 | I will try to upload a simple .po editor soon that will be able 60 | to fetch suggestions from the server using this mechanism. 61 |

62 | -------------------------------------------------------------------------------- /server/uk/help.html: -------------------------------------------------------------------------------- 1 | 13 |

Переклад окремих фраз

14 |
    15 |
  1. 16 | Ви можете додати пошуковий рушій (перегляньте 17 | запропоновані переклади) до будь-якого сучасного навігатора. 18 |
    19 | Open Search 20 |
  2. 21 |
  3. 22 | Це не секрет, що форма пошуку вводить адресу URL в 23 | наступному форматі: 24 | http://uk.open-tran.eu/suggest/search engine. 25 |
  4. 26 |
  5. 27 | Користувачі Firefox можуть додати закладку з ключовим словом. Щоб це зробити, 28 | потрібно відкрити вікно "Упорядкувати закладки" з меню 29 | "Закладки" і додати нову закладку як показано:

    30 | screenshot

    31 | Введення tran фраза в панель адреси URL 32 | автоматично передасть запит пошуку. 33 |
  6. 34 |
35 | 36 | 37 |

XML RPC

38 |

39 | Цією службою можна користуватись з будь-якої програми, яка здатна 40 | викликати віддалену процедуру через протокол 41 | XML RPC. Потрібно вживати метод 42 | suggest, який приймає два аргументи: 43 | фразу, яку потрібно перекласти, і код мови, на яку проводиться переклад. 44 |

45 |

46 | В Python це можна втілити наступним чином: 47 |

48 |
49 |       from xmlrpclib import ServerProxy
50 | 
51 |       lang = "uk" # змініть на код вашої мови
52 |       server = ServerProxy("http://open-tran.eu/RPC2")
53 |       for sugg in server.suggest("save as", lang):
54 |           print sugg
55 |     
56 |

57 | Незабаром, я постараюсь вивантажити простий редактор .po, який буде спроможний 58 | отримувати пропозиції з сервера за допомогою цього механізму. 59 |

60 | -------------------------------------------------------------------------------- /server/fi/opaste.html: -------------------------------------------------------------------------------- 1 | 16 |

Yksittäisten fraasien kääntäminen

17 | 18 |
    19 |
  1. Voit lisätä hakukoneen (katso 20 | ehdotetut käännökset) mihin 21 | tahansa nykyaikaiseen webselaimeen. 22 |
    23 | Vapaa haku 24 |
  2. 25 |
  3. Ei ole salaisuus, että hakusivu menee seuraavanlaiseen osoitteeseen: http://fi.open-tran.eu/suggest/search 26 | engine.
  4. 27 | 28 |
  5. Firefoxin käyttäjät voivat lisätä 29 | kirjanmerkin avainsanalla varustettuna avaamalla Kirjanmerkit-valikosta Muokkaa kirjanmerkkejä -ikkunan ja lisäämällä uuden kirjanmerkin seuraavasti:
    30 |
    31 | Ruutukaappaus
    32 |
    33 | 34 | Voit sitten hakea fraasia kirjoittamalla osoiteriville tran fraasi. 35 |
  6. 36 |
37 | 38 |

XML RPC

39 |

Palvelua voi käyttää 40 | millä tahansa ohjelmalla, joka pystyy 41 | suorittamaan etäkutsun XML RPC-yhteyskäytännöllä. Sinun tulisi 42 | käyttää suggest-komentoa, 43 | jolla on 2 parametria: käännettävä fraasi ja 44 | kohdekielen koodi.

45 |

46 | Python-kielellä tehtynä esimerkiksi seuraavasti: 47 |

48 | 49 |
50 |       from xmlrpclib import ServerProxy
51 | 
52 |       server = ServerProxy("http://open-tran.eu/RPC2")
53 |       for sugg in server.suggest("save as", "fi"):
54 |           print sugg
55 |     
56 | 57 |

Yritän 58 | lähettää pian yksinkertaisen 59 | .po-muokkaimen, joka osaa noutaa ehdotukset 60 | palvelimelta tällä tapaa. 61 |

62 | -------------------------------------------------------------------------------- /server/fr/help.html: -------------------------------------------------------------------------------- 1 | 16 |

Traduction de simples phrases

17 |
    18 |
  1. Vous pouvez ajouter un search engine 19 | (regardez les 20 | suggestions de traduction pour ce mot) 21 | dans tous les navigateurs 22 | modernes. 23 |
    24 | Open Search 25 |
  2. 26 |
  3. Tout le monde peut voir que 27 | le formulaire de recherche utilise 28 | une adresse (URL) du format suivant : 29 | http://fr.open-tran.eu/suggest/search engine.
  4. 30 |
  5. Les utilisateurs de Firefox 31 | peuvent ajouter un marque-page avec 32 | un mot-clé. Pour cela il suffit de cliquer 33 | sur "Organiser les marque-pages" dans le menu "Marque-pages" et d'en ajouter 34 | un nouveau comme ceci :
    35 |
    36 | screenshot
    37 |
    38 | Et maintenant, entrer une adresse du format trad phrase 39 | lancera automatiquement une recherche.
  6. 40 |
41 |

XML RPC

42 |

Vous pouvez utiliser ce service 43 | avec n'importe quel programme 44 | capable d'appeler une procédure via le protocole XML RPC. 46 | Vous devriez employer 47 | la méthode suggest, 48 | qui utilise deux arguments : 49 | la phrase à traduire et le code de la langue de destination. 50 |

51 |

En Python, vous pouvez 52 | l'utiliser de cette façon :

53 |
54 |       from xmlrpclib import ServerProxy
55 | 
56 |       server = ServerProxy("http://open-tran.eu/RPC2")
57 |       for sugg in server.suggest("save as", "fr"):
58 |           print sugg
59 |     
60 |

J'essaierai de mettre 61 | bientôt en ligne un simple 62 | éditeur de .po qui pourra chercher les suggestions 63 | sur le 64 | serveur en utilisant ce mécanisme. 65 |

66 | -------------------------------------------------------------------------------- /server/pt_br/help.html: -------------------------------------------------------------------------------- 1 | 14 |

Traduzindo Frases Simples

15 |
    16 |
  1. 17 | Você pode adicionar um motor de pesquisas (dê uma olhada 18 | nas traduções sugeridas) a qualquer navegador web moderno. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | Não é segredo que o formulário de pesquisas usa um URL do seguinte formato: 24 | http://pt-br.open-tran.eu/suggest/search engine. 25 |
  4. 26 |
  5. 27 | Usuários do Firefox podem adicionar um marcador com uma palavra-chave. Para fazer isso 28 | é necessário abrir a janela "Organizar Marcadores" do 29 | menu "Marcadores" e adicione um novo da seguinte forma:

    30 | screenshot

    31 | Agora, digitando um URL no formato tran frase irá 32 | automaticamente enviar a consulta de pesquisa. 33 |
  6. 34 |
35 | 36 | 37 |

XML RPC

38 |

39 | Você pode usar este serviço com qualquer programa capaz de 40 | chamar um procedimento remoto pelo protocolo 41 | XML RPC. Você deveria usar 42 | o método suggest, que aceita dois 43 | argumentos: uma frase para ser traduzida e o código do idioma para traduzir. 44 |

45 |

46 | Em Python, você pode usar da seguinte forma: 47 |

48 |
49 |       from xmlrpclib import ServerProxy
50 | 
51 |       lang = "pt_BR" # replace with your language code
52 |       server = ServerProxy("http://open-tran.eu/RPC2")
53 |       for sugg in server.suggest("save as", lang):
54 |           print sugg
55 |     
56 |

57 | Eu vou tentar enviar um editor de .po simples em breve que será capaz 58 | de buscar sugestões do servidor usando este mecanismo. 59 |

60 | -------------------------------------------------------------------------------- /server/ar/help.html: -------------------------------------------------------------------------------- 1 | 12 |
13 |

ترجمة عبارات منفصلة

14 |
    15 |
  1. 16 | بإمكانك إضافة محرّك بحث (ألقِ نظرةً على الترجمات المقترحة) لأي متصفّح حديث للإنترنت.. 17 |
    18 | Open Search 19 |
  2. 20 |
  3. 21 | ليس مِن الصعب صياغة عنوان إنترنت للبحث في محرّك البحث كما في الصيغة التالية: 22 | http://ar.open-tran.eu/suggest/search engine. 23 |
  4. 24 |
  5. 25 | بإمكان مستخدمي FireFox إضافة علامة موقع للصفحة تتضمّن كلمات بحث مفتاحيّة. حتى تتمكّن مِن ذلك فإن عليك أن تفتح نافذة "تنظيم علامات المواقع" مِن قائمة "علامات المواقع" ثم تضيف علامة موقع جديدة كما يظهر في الشكل 26 | أدناه:

    27 | screenshot

    28 | و الآن يمكنك كتابة العنوان في شريط الموقع بصيغة ترجم عبارة بحيث تكون العبارة باللغة الإنجليزية، فيقوم المتصفح بالبحث تلقائيّاً عن ترجمة تلك العبارة بالعربية. 29 |
  6. 30 |
31 | 32 | 33 |

بروتوكول استدعاء الإجراءات عن بعد XML RPC

34 |

35 | بإمكانك استخدام هذه الخدمة عن طريق أي برنامج قادر على استدعاء الإجراءات البرمجية عن بعد عن طريق بروتوكول 36 | XML RPC. عليك أن تستخدِم إجراء suggest، و الذي يأخد معيارين: العبارة المطلوب ترجمتها و رمز اللغة المراد الترجمة إليها. 37 |

38 |

39 | يمكنك تطبيق ذلك بلغة Python كما يلي: 40 |

41 |
42 |       from xmlrpclib import ServerProxy
43 | 
44 |       lang = "pt_BR" # replace with your language code
45 |       server = ServerProxy("http://open-tran.eu/RPC2")
46 |       for sugg in server.suggest("save as", lang):
47 |           print sugg
48 |     
49 |

50 | سوف أعمل قريياً على رفع محرّر بسيط لملفات .po يكون بإمكانه جلب الاقتراحات مِن الخادم باستخدام هذه الطريقة. 51 |

52 |
53 | -------------------------------------------------------------------------------- /server/sk/help.html: -------------------------------------------------------------------------------- 1 | 14 |

Preklad jednoduchých fráz

15 |
    16 |
  1. 17 | Môžete pridať vyhľadávač (overte si 18 | navrhované preklady) do každého moderného prehliadača internetu. 19 |
    20 | Otvoriť vyhľadávanie 21 |
  2. 22 |
  3. 23 | Nie je tajomstvom, že vyhľadávací formulár zadá URL adresu 24 | v nasledujúcom formáte: 25 | http://xx.open-tran.eu/suggest/search engine. 26 |
  4. 27 |
  5. 28 | Používatelia prehliadača Firefox si môžu pridať záložku s kľúčovým slovom. Aby to bolo možné, je 29 | potrebné otvoriť okno "Organizovať záložky" z ponuky 30 | "Záložky" a pridať novú takto:

    31 | screenshot

    32 | Teraz, zadaním URL v tvare tran phrase sa bude 33 | automaticky odosielať požiadavka na vyhľadanie. 34 |
  6. 35 |
36 | 37 | 38 |

XML RPC

39 |

40 | Môžete použiť túto službu s akýmkoľvek programom, ktorý je schopný 41 | volania vzdialenej procedúry pomocou 42 | XML RPC protokolu. Mali 43 | by ste použiť metódu suggest, ktorá prijíma dva 44 | argumenty: frázu na preloženie a umiestnenie kódu 45 | jazyka. 46 |

47 |

48 | V programovacom jazyku Python, môžete túto službu použiť nasledujúcim spôsobom: 49 |

50 |
51 |       from xmlrpclib import ServerProxy
52 | 
53 |       lang = "pt_BR" # replace with your language code
54 |       server = ServerProxy("http://open-tran.eu/RPC2")
55 |       for sugg in server.suggest("save as", lang):
56 |           print sugg
57 |     
58 |

59 | Budem sa snažiť čoskoro nahrať jednoduchý .po editor s ktorým sa budú dať 60 | vyzdvihnúť návrhy zo servera pomocou tohoto mechanizmu. 61 |

62 | -------------------------------------------------------------------------------- /server/ca/help.html: -------------------------------------------------------------------------------- 1 | 15 |

Traduir frases individuals

16 |
    17 |
  1. 18 | Pots afegir un motor de cerca a qualsevol navegador modern. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | No es cap secret que el formulari de cerca va a una URL amb aquest format: 24 | http://ca.open-tran.eu/suggest/frase a buscar. 25 |
  4. 26 |
  5. 27 | Usuaris del Firefox poden afegir una adreça d'interès amb una paraula 28 | clau. Per fer aixó, s'ha d'obrir la finestra "Organitza les adreces 29 | d'interès" des del menú "Adreces d'interès" i afegir-n'hi una de nova com aquesta:

    30 | screenshot

    31 | Ara, introduint una URL del tipus tran frase automàticament s'enviarà una consulta. 32 |
  6. 33 |
34 | 35 | 36 |

XML RPC

37 |

38 | Pots utilitzar aquest servei amb qualsevol programa capaç d'executar 39 | un procés remot per mitjà del protocol XML RPC. 40 | Has d'utilitzar el mètode suggest, que accepta dos arguments: una frase que es 41 | vol traduir i el codi de la llengua a la que es vol fer. 42 |

43 |

44 | Amb Python, pots fer-ho d'aquesta manera: 45 |

46 |
47 |       from xmlrpclib import ServerProxy
48 | 
49 |       lang = "ca" # replace with your language code
50 |       server = ServerProxy("http://open-tran.eu/RPC2")
51 |       for sugg in server.suggest("save as", lang):
52 |           print sugg
53 |     
54 |

55 | D'aquí poc miraré de penjar un editor de fitxers .po 56 | senzill que dóni la possibilitat d'obtenir suggeriments des del 57 | servidor utilitzant aquest mecanisme. 58 |

59 | -------------------------------------------------------------------------------- /server/es/ayuda.html: -------------------------------------------------------------------------------- 1 | 13 |

Traducción de las frases

14 |
    15 |
  1. 16 | En todos los navegadores modernos se puede añadir un search engine (véate las sugerencias de traducción). 17 |
    18 | Open Search 19 |
  2. 20 |
  3. 21 | Por supuesto, no es un secreto que la ventana de búsqueda introduzca una dirección URL de modo siguiente: 22 | http://es.open-tran.eu/suggest/search engine. 23 |
  4. 24 |
  5. 25 | Los usuarios de Firefox pueden crear en su navegador un marcador con palabra clave. Para hacer esto, vamos a 'Marcadores -> Administrar marcadores' y eligemos la opción Nuevo marcador:

    26 | screenshot

    27 | A partir de ahora, cuando tecleemos tran 28 | frase en la barra de direcciones, empecerá la traducción. 29 |
  6. 30 |
31 | 32 | 33 |

XML RPC

34 |

35 | Para poder utilizar este servicio se necesita un programa que permite realizar las llamadas a procedimientos remotos a través del protocolo XML RPC. Para ello hay que emplear el método suggest que toma dos argumentos: la frase para traducir y el código de dos letras del idioma al que se traduce (o sea "es" en el caso del español). 36 |

37 |

38 | Por ejemplo en Python se lo hace así: 39 |

40 |
41 |       from xmlrpclib import ServerProxy
42 | 
43 |       server = ServerProxy("http://open-tran.eu/RPC2")
44 |       for sugg in server.suggest("save as", "es"):
45 |           print sugg
46 |     
47 |

48 | En los próximos días voy a poner aquí un fácil editor de los archivos PO que ofrezca las sugerencias de traducción utilizando este mecanismo. 49 |

50 | 51 | -------------------------------------------------------------------------------- /lib/phrase.h: -------------------------------------------------------------------------------- 1 | #ifndef __PHRASE_H__ 2 | #define __PHRASE_H__ 1 3 | /* 4 | Copyright (C) 2006 Jacek Sliwerski 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; version 2. 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, write to the Free Software Foundation, 17 | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | 19 | */ 20 | /**************************************************************************** 21 | * INTERFACE REQUIRED HEADERS 22 | ****************************************************************************/ 23 | /**************************************************************************** 24 | * INTERFACE DEFINITIONS 25 | ****************************************************************************/ 26 | 27 | #define htable_create_p(i) \ 28 | (htable_create ((i), (unsigned (*)(void *))phrase_hash, \ 29 | (int (*)(void *, void *))phrase_compare)) 30 | 31 | /**************************************************************************** 32 | * INTERFACE STRUCTURES 33 | ****************************************************************************/ 34 | 35 | typedef struct 36 | { 37 | wchar_t *text; 38 | int length; 39 | 40 | int occurences; 41 | } word_t; 42 | 43 | 44 | typedef struct 45 | { 46 | wchar_t *text; 47 | int length; 48 | 49 | int word_count; 50 | word_t **words; 51 | } phrase_t; 52 | 53 | /**************************************************************************** 54 | * INTERFACE FUNCTION PROTOTYPES 55 | ****************************************************************************/ 56 | 57 | extern phrase_t *phrase_create (const char *text); 58 | extern void phrase_destroy (phrase_t *phrase); 59 | 60 | extern unsigned phrase_hash (phrase_t *phrase); 61 | extern int phrase_compare (phrase_t *phrase1, phrase_t *phrase2); 62 | extern void phrase_print (phrase_t *phrase); 63 | 64 | /**************************************************************************** 65 | * 66 | * END HEADER phrase.h 67 | * 68 | ****************************************************************************/ 69 | #endif 70 | -------------------------------------------------------------------------------- /server/sq/help.html: -------------------------------------------------------------------------------- 1 | 14 |

Përkthim Togfjalëshash Si Një e Tërë

15 |
    16 |
  1. 17 | Mund të shtoni një motor kërkimesh (shihni 18 | përkthimet e këshilluar) te cilido shfletues modern web. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | Nuk përbën ndonjë sekret që formulari i kërkimeve jep një URL nën 24 | formatin vijues: 25 | http://xx.open-tran.eu/suggest/search engine. 26 |
  4. 27 |
  5. 28 | Përdoruesit e Firefox-it mund të shtojnë një faqerojtës me një fjalëkyç. Për ta bërë këtë 29 | dikujt i duhet të hapë dritaren "Sistemoni Faqerojtësit" prej menusë 30 | "Faqerojtës" dhe të shtojë një të ri, si më poshtë:

    31 | screenshot

    32 | Tani, duke dhënë një URL në formën togfjalësh për përkthim do të parashtrohet 33 | vetvetiu një kërkesë. 34 |
  6. 35 |
36 | 37 | 38 |

XML RPC

39 |

40 | Këtë shërbim mund ta përdorni me cilindo program që është i aftë 41 | të thërrasë një procedurë në largësi përmes protokollit 42 | XML RPC. Do të duhej të përdornit 43 | metodën suggest, që pranon dy 44 | argumenta: një togfjalësh për t'u përkthyer dhe kodin e gjuhës për të cilën synohet 45 | përkthimi. 46 |

47 |

48 | Në Python, mund ta përdorni në mënyrën e mëposhtme: 49 |

50 |
51 |       prej xmlrpclib import ServerProxy
52 | 
53 |       lang = "pt_BR" # zëvendësojeni me kodin e gjuhës suaj
54 |       server = ServerProxy("http://open-tran.eu/RPC2")
55 |       for sugg in server.suggest("save as", lang):
56 |           print sugg
57 |     
58 |

59 | Së shpejti do të përpiqem të jap një përpunues të thjeshtë për kartelat .po, i cili do të jetë 60 | në gjendje të sjellë këshillime prej shërbyesash që përdorin këtë mekanizëm. 61 |

62 | -------------------------------------------------------------------------------- /server/de/hilfe.html: -------------------------------------------------------------------------------- 1 | 13 |

Übersetzung von einzelnen Phrasen

14 |
    15 |
  1. 16 | Ein search engine (schau Dir mal die vorgeschlagenen Übersetzungen an) kann in allen modernen Browsern hinzugefügt werden. 17 |
    18 | Open Search 19 |
  2. 20 |
  3. 21 | Es ist natürlich kein Geheimnis, dass das Suchfenster einfach die Adresse in folgender Form eingibt: 22 | http://de.open-tran.eu/suggest/search engine. 23 |
  4. 24 |
  5. 25 | Die Firefox-Nutzer können bei ihrem Browser ein Lesezeichen mit Schlüsselwort einbinden. Dafür geht man über 'Lesezeichen -> Lesezeichen bearbeiten' in die Verwaltung und fügt ein neues Lesezeichen hinzu:

    26 | screenshot

    27 | Jetzt braucht man in der Adresszeile nur noch tran 28 | Phrase einzugeben, um die Suche zu starten. 29 |
  6. 30 |
31 | 32 | 33 |

XML RPC

34 |

35 | Um den Service zu nutzen, benötigt man einfach ein Programm, das die entfernten Funktionsaufrufe über das XML RPC-Protokoll ermöglicht. Dafür sollte man die suggest Methode verwenden, die zwei Argumente nimmt: das erste ist die zu übersetzende Phrase und das zweite - das zweibuchstabige Kürzel der Sprache, in die die Phrase übersetzt werden sollte (also "de" für das Deutsche). 36 |

37 |

38 | Zum Beispiel in Python macht man dies wie folgt: 39 |

40 |
41 |       from xmlrpclib import ServerProxy
42 | 
43 |       server = ServerProxy("http://open-tran.eu/RPC2")
44 |       for sugg in server.suggest("save as", "de"):
45 |           print sugg
46 |     
47 |

48 | In nächster Zeit werde ich versuchen, hier einen einfachen Editor der .po-Dateien zu platzieren, der die Übersetzungsvorschläge mit Hilfe des oben aufgeführten Mechanismus abruft. 49 |

50 | 51 | -------------------------------------------------------------------------------- /server/el/help.html: -------------------------------------------------------------------------------- 1 | 15 |

Μετάφραση απλών φράσεων

16 |
    17 |
  1. 18 | Μπορείτε να προσθέσετε μια μηχανή αναζήτησης σε οποιονδήποτε μοντέρνο 19 | περιηγητή. 20 |
    21 | Αναζήτηση 22 |
  2. 23 |
  3. 24 | Δεν είναι κρυφό ότι η φόρμα αναζήτησης δημιουργεί έναν σύνδεσμο της μορφής: 25 | http://xx.open-tran.eu/suggest/search engine. 26 |
  4. 27 |
  5. 28 | Οι χρήστες του Firefox μπορούν να προσθέσουν έναν σελιδοδείκτη 29 | με μια λέξη κλειδί. Για να το κάνετε αυτό, πρέπει να ανοίξετε το 30 | παράθυρο "Οργάνωση σελιδοδεικτών" από το μενού "Σελιδοδείκτες" 31 | και να εισάγετε έναν νέο ως εξής:

    32 | στιγμιότυπο

    33 | Τώρα, αν γράψετε ένα URL της μορφής tran φράση θα 34 | γίνει αυτόματα αναζήτηση. 35 |
  6. 36 |
37 | 38 | 39 |

XML RPC

40 |

41 | Μπορείτε να χρησιμοποιήσετε αυτήν την υπηρεσία με οποιοδήποτε 42 | πρόγραμμα που έχει τη δυνατότητα να καλέσει μια απομακρυσμένη 43 | διαδικασία μέσω του πρωτοκόλλου XML RPC. 44 | Πρέπει να χρησιμοποιήσετε τη μέθοδο suggest, που 45 | δέχεται δύο παραμέτρους: μια φράση προς μετάφραση και έναν κωδικό 46 | γλώσσας προορισμού. 47 |

48 |

49 | Στην Python, μπορείτε να το χρησιμοποιήσετε με τον ακόλουθο τρόπο: 50 |

51 |
52 |       from xmlrpclib import ServerProxy
53 | 
54 |       lang = "el" # αντικαταστήστε το με τον κωδικό γλώσσας που θέλετε
55 |       server = ServerProxy("http://open-tran.eu/RPC2")
56 |       for sugg in server.suggest("save as", lang):
57 |           print sugg
58 |     
59 |

60 | Σύντομα, Θα προσπαθήσω να ανεβάσω έναν απλό επεξεργαστή αρχείων .po 61 | που θα μπορεί να πάρει προτάσεις μετάφρασης από τον εξυπηρετητή με 62 | τη χρήση αυτού του μηχανισμού. 63 |

64 | -------------------------------------------------------------------------------- /server/gl/help.html: -------------------------------------------------------------------------------- 1 | 14 |

Tradución de frases soltas

15 |
    16 |
  1. 17 | Pode engadir un motor de procuras (consulte as suxestións de 19 | tradución) en calquer navegador moderno. 20 |
    21 | Open Search 22 |
  2. 23 |
  3. 24 | Non é nengún segredo que o formulario de procura dirixe 25 | a un URL co seguinte formato: http://gl.open-tran.eu/suggest/search 27 | engine. 28 |
  4. 29 |
  5. 30 | Os usuarios de Firefox poden engadir un marcador cunha 31 | palabra-chave. Para facer isto debe abrir a fiestra "Organizar 32 | Marcadores" no menú "Marcadores" e engadir un novo do seguinte 33 | xeito:

    34 | screenshot

    35 | Agora, se escrebe un URL da forma tran frase fará 36 | automaticamente unha pesquisa. 37 |
  6. 38 |
39 | 40 | 41 |

XML RPC

42 |

43 | Pode usar este servizo con calquer programa que sexa capaz de activar 44 | un procedimento remoto mediante o protocolo 45 | XML RPC. Debe usar o método 46 | suggest, que toma dous argumentos: unha frase a 47 | traducir e o código da lingua de destino. 48 |

49 |

50 | Con Python, pode usálo do seguinte xeito: 51 |

52 |
53 |       from xmlrpclib import ServerProxy
54 | 
55 |       lang = "gl" # substitúao co código do seu idioma
56 |       server = ServerProxy("http://open-tran.eu/RPC2")
57 |       for sugg in server.suggest("save as", lang):
58 |           print sugg
59 |     
60 |

61 | Hei tentar facer un editor simples de ficheiros .po que sexa capaz de 62 | obter suxestións desde o servidor mediante este sistema. 63 |

64 | -------------------------------------------------------------------------------- /server/it/aiuto.html: -------------------------------------------------------------------------------- 1 | 14 |

Traduzione di frasi singole

15 |
    16 |
  1. 17 | Puoi aggiungere un motore di ricerca, in inglese si dice "search engine" 18 | (vedi la traduzione suggerita), a qualsiasi browser web moderno. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | Naturalmente non è un segreto che il modulo di ricerca utilizzi un URL nel seguente formato: 24 | http://it.open-tran.eu/suggest/search engine. 25 |
  4. 26 |
  5. 27 | Se sei un utente di Firefox poi aggiungere un segnalibro con parola chiave. Per 28 | poterlo fare devi aprire la finestra "Gestione segnalibri..." dal menu 29 | "Segnalibri" e premere il pulsante "Nuovo segnalibro". Poi compila i campi come segue:

    30 | Coma aggiungere un segnalibro

    31 | D'ora in poi digitando tran frase_da_tradurre nella barra dell'indirizzo 32 | inizierà automaticamente la ricerca nella nostra banca dati delle traduzioni. 33 |
  6. 34 |
35 | 36 | 37 |

XML RPC

38 |

39 | Puoi usare questo servizio con qualsiasi programma che sia in grado di effettuare una 40 | chiamata a procedura remota attraverso il protocollo XML RPC. 41 | Dovresti utilizzare il metodo suggest, che prende due argomenti: una frase da tradurre ed il 42 | codice di due lettere della lingua nella quale vuoi tradurre (ovvero "it" nel caso dell'italiano). 43 |

44 |

45 | In Python, ad esempio, si può fare in questo modo: 46 |

47 |
48 |       from xmlrpclib import ServerProxy
49 | 
50 |       server = ServerProxy("http://open-tran.eu/RPC2")
51 |       for sugg in server.suggest("save as", "it"):
52 |           print sugg
53 |     
54 |

55 | Proverò ad inviare prossimamente un semplice editor di file .po che sia in grado 56 | di ottenere i suggerimenti di traduzione dal server attraverso questo meccanismo. 57 |

58 | -------------------------------------------------------------------------------- /server/ka/help.html: -------------------------------------------------------------------------------- 1 | 13 | 14 |

ცალკეული წინადადების თარგმნა

15 |
    16 |
  1. 17 | ყველა თანამედროვე ბრაუზერზე (შემოთავაზებული 18 | თარგმანის ნახვა) შესაძლებელია საძიებო სისტემის დამატება. 19 |
    20 | Open Search 21 |
  2. 22 |
  3. 23 | არ არის საიდუმლო რომ ძიება ხერხდება შემდეგი ფორმის URL ფორმატით: 24 | http://ka.open-tran.eu/suggest/search engine. 25 |
  4. 26 |
  5. 27 | Firefox-ის მომხმარებლებს შეუძლიათ საკვანძო სიტყვის მქონე სანიშნის 28 | დამატება. ამისათვის გახსენით ფანჯარა "სანიშნეთა ორგანიზება", "სანიშნეები"-ს 29 | მენუდან და დაამატეთ შემდეგი ინფორმაცია, ქვემოთ მოცემული სურათის მიხედვით:

    30 | screenshot

    31 | სცადეთ მენუს ზოლში tran search engine შეყვანა, სისტემა ავტომატურად 32 | მოძებნის ქართულ შესატყვისს.

    33 | screenshot

    34 | 35 |
  6. 36 |
37 | 38 | 39 |

XML RPC

40 |

41 | ამ სერვისის გამოყენება შესაძლებელია ყველა იმ პროგრამასთან, რომელსაც 42 | XML RPC პროტოკოლის მეშვეობით დაშორებული 43 | პროცედურების გამოძახება შეუძლია. გამოიყენეთ მეთოდი suggest რომელიც იღებს 44 | ორ არგუმენტს: სათარგმნ წინადადებას და ენის კოდს. 45 |

46 |

47 | პითონში ყოველივე ამის გამოყენება ხდება ამდაგვარად: 48 |

49 |
50 |       from xmlrpclib import ServerProxy
51 | 
52 |       lang = "pt_BR" # replace with your language code
53 |       server = ServerProxy("http://open-tran.eu/RPC2")
54 |       for sugg in server.suggest("save as", lang):
55 |           print sugg
56 |     
57 |

58 | სულ მალე შევეცდები მარტივი .po ფაილების რედაქტორის ატვირთვას, რომელიც 59 | ზემოთ მოცემულ ტექნოლოგიას გამოიყენებს. 60 |

61 | -------------------------------------------------------------------------------- /import/update-steps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . update.conf 4 | 5 | export PYTHONPATH=$toolkit_path:$data_root/../lib 6 | 7 | log="$log_dir/import.log" 8 | err="$log_dir/import.err" 9 | audit="$log_dir/audit.txt" 10 | status="$log_dir/status.txt" 11 | 12 | update () { 13 | script="update-$1.sh" 14 | if test -z "$2"; then 15 | proj=$1 16 | else 17 | proj=$2 18 | fi 19 | echo $proj >> $status 20 | echo 21 | echo "===== UPDATING $proj ====" >> $log 22 | $script $data_root $2 $3 >> $log 2>> $err 23 | } 24 | 25 | 26 | import_by_fr_po () { 27 | proj_letter=$1 28 | proj_dir=$data_root/$2 29 | for fname in `find "$proj_dir" -name 'fr.po'`; do 30 | echo $fname >> $log 31 | pattern=`echo $fname | sed 's/\/fr\.po/\/%LANG%.po/'` 32 | import_compact.py $proj_letter $data_root "$pattern" >> $log 2>> $err 33 | done 34 | } 35 | 36 | 37 | import_by_fr_dir () { 38 | proj_letter=$1 39 | proj_dir=$data_root/$2 40 | for fname in `find "$proj_dir/fr" -name '*.po'`; do 41 | echo $fname >> $log 42 | pattern=`echo $fname | sed 's/\/fr\//\/%LANG%\//'` 43 | import_compact.py $proj_letter $data_root "$pattern" >> $log 2>> $err 44 | done 45 | } 46 | 47 | 48 | import_by_fr_mix () { 49 | proj_letter=$1 50 | proj_dir=$data_root/$2 51 | for fname in `find "$proj_dir" -name '*.fr.po'`; do 52 | echo $fname >> $log 53 | pattern=`echo $fname | sed 's/\/fr\//\/%LANG%\//' | sed 's/\.fr\.po/.%LANG%.po/'` 54 | import_compact.py $proj_letter $data_root "$pattern" >> $log 2>> $err 55 | done 56 | } 57 | 58 | 59 | rm -f $log $err $audit 60 | date > $log 61 | echo -n "removing broken repos..." >> $log 62 | rm -rf $data_root/suse-i18n 63 | rm -rf $data_root/inkscape 64 | echo "done" >> $log 65 | 66 | echo "importing" > $status 67 | 68 | update svn debian-installer svn://svn.d-i.alioth.debian.org/svn/d-i/trunk/packages/po 69 | update fedora 70 | update gnome 71 | update svn inkscape-i18n https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk/po 72 | update kde 73 | update mandriva 74 | update svn opensuse-i18n svn://svn.berlios.de/opensuse-i18n/trunk 75 | update xfce 76 | 77 | if [ ! -d $data_root/../data ]; then 78 | mkdir $data_root/../data 79 | fi 80 | 81 | rm -rf $data_root/../data/ten*.db* 82 | sqlite3 $data_root/../data/ten.db < $data_root/../import/step1.sql 83 | import_db_init.py $data_root/../data/ten.db >> $log 2>> $err 84 | 85 | echo "processing" >> $status 86 | 87 | date >> $log 88 | 89 | import_by_fr_po D debian-installer 90 | import_by_fr_po R fedora 91 | import_by_fr_po G gnome-po 92 | import_by_fr_po I inkscape-i18n 93 | import_by_fr_dir K l10n-kde4 94 | import_by_fr_po A mandriva 95 | import_by_fr_mix S opensuse-i18n 96 | import_by_fr_po X xfce 97 | 98 | date >> $log 99 | rm $status 100 | -------------------------------------------------------------------------------- /server/ko/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - 일관성있는 번역 용어 사용 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /lib/hash.h: -------------------------------------------------------------------------------- 1 | #ifndef __HASH_H__ 2 | #define __HASH_H__ 1 3 | /* 4 | Copyright (C) 2006, 2007 Jacek Śliwerski (rzyjontko) 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; version 2. 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, write to the Free Software Foundation, 17 | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | 19 | */ 20 | /**************************************************************************** 21 | * INTERFACE DEFINITIONS 22 | ****************************************************************************/ 23 | 24 | #define htable_create_s(i) \ 25 | (htable_create ((i), (unsigned (*)(void *))hash_str, \ 26 | (int (*)(void *, void *))strcmp)) 27 | 28 | 29 | 30 | /**************************************************************************** 31 | * INTERFACE STRUCTURES / UTILITY CLASSES 32 | ****************************************************************************/ 33 | 34 | typedef struct hentry { 35 | struct hentry *next; 36 | void *key; 37 | void *value; 38 | } entry_t; 39 | 40 | typedef struct entry_aux { 41 | struct entry_aux *next; 42 | entry_t *entry; 43 | } entry_aux_t; 44 | 45 | typedef struct { 46 | entry_t **array; 47 | entry_aux_t *list; 48 | unsigned exponent; 49 | unsigned count; 50 | unsigned (*compute_hash)(void *); 51 | int (*compare)(void *, void *); 52 | } htable_t; 53 | 54 | /**************************************************************************** 55 | * INTERFACE FUNCTION PROTOTYPES 56 | ****************************************************************************/ 57 | 58 | extern htable_t *htable_create (unsigned exponent, unsigned (*hash)(void *), 59 | int (*compare)(void *, void *)); 60 | extern void htable_destroy (htable_t *table, void (*fun)(void *, void *)); 61 | 62 | extern entry_t *htable_lookup (htable_t *table, void *key); 63 | extern entry_t *htable_insert (htable_t *table, void *key, void *value); 64 | 65 | extern void *htable_fold (htable_t *table, void *(*fun)(entry_t *, void *), 66 | void *acc); 67 | 68 | extern unsigned hash_str (const char *str); 69 | 70 | /**************************************************************************** 71 | * 72 | * END HEADER hash.h 73 | * 74 | ****************************************************************************/ 75 | #endif 76 | -------------------------------------------------------------------------------- /server/sk/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - consistency matters 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/he/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - האחידות משנה 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/sq/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - vijueshmëria ka vlerë 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/sl/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - doslednost šteje 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/de/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - consistency matters 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/hu/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - consistency matters 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/csb/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - consistency matters 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/en/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - consistency matters 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /server/es/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open-Tran.eu - consistency matters 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 |
    23 | 24 |
25 |
26 |
27 | 30 | 31 |
32 | open-tran 33 |
34 | 35 | 38 |
39 | 40 |
41 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |
52 |
53 | 71 |
72 | 73 | 74 | 76 | 81 | 82 | 83 | 84 | --------------------------------------------------------------------------------