Er zijn open-source spellingcontroles, vb libaspell, libispell, etc...
Voor vertaling weet ik niet zo direct iets... Probeer als het mogelijk is zeker niet van een internet service (i.c. google) af te hangen.
OK, dan laat ik voorlopig de mogelijkheid 'een online dienst gebruiken' voorlopig even los.
Ik heb nu even snel zitten zoeken en er zijn open-source woordenboeken te krijgen, deze bijvoorbeeld:
http://freedict.org/en/Ik kan ze opzich overladen in bijv. een sqlitedatabase (een tabel voor iedere taal, één kolom voor een woord en eentje voor een id die ook in andere talen voorkomt bijv.) Maar misschien zijn er betere opties. (En nu ik erover nadenk is mijn manier voor spellingscontrole niet ideaal, aangezien je op elkaar lijkende woorden niet in de database zelf kan sorteren.)
Al met al behoorlijk wat gedoe. Ik heb nog geen python-bibliotheken gevonden die dit alles opknappen. Dus nu is de vraag, of iemand hier meer weet over bovenstaande, of een andere manier in gedachten heeft waarmee het (mogelijk) beter kan.
------------------------------------------------------------------------
UPDATE: Ik heb nog wat zitten zoeken, hieronder het resultaat:
- Er is maar één project dat woordenboeken met redelijke kwaliteit kan leveren onder een open licentie, nl. de eerder genoemde freedict. Daarnaast zijn er nog de woordenboeken waarvan het copyright verlopen is/een enkeling die vrijgegeven is. Maar die Freedict woordenboeken zouden prima moeten voldoen. Conclusie: De gebruikte woordenboeken zullen van Freedict komen.
- Het daaropvolgende punt is hoe je die woordenboeken organiseert en doorzoekbaar maakt. Ik kan twee mogelijkheden bedenken:
- De bestanden omzetten naar een eigen formaat, en dat doorzoeken met eigen code. (Veel werk + tijd, maar zorgt ervoor dat er niet zoveel overhead is mits ik het doorzoeken een beetje efficient kan maken.)
- Werken met een dictd-server. Dat is een server waarbij je woorden kan opvragen, zowel de betekenis als of ze kloppend geschreven zijn. (Er bestaan voor python zowel server- als clientimplementaties (bijv. http://gopher.quux.org:70/devel/dictclient), hoewel die oud zijn. Simpel te maken, maar de code van OpenTeacher wordt er minstens door verdubbelt.)
Ik neig het meest naar de dictd-oplossing, vooral omdat het mogelijk is om in het begin te werken met een online server (bijv net zoals de woordenboek-applicatie in ubuntu met dict://dict.org, of met de officiele freedict server, dict://dict.uni-leipzig.de .), en het mogelijk is om later altijd nog een server in openteacher te integreren als dat nodig blijkt te zijn.
Nieuwe vraag: Klinkt alles wat ik in de update beschreven heb als een logische manier om de functionaliteit beschreven in de startpost te implementeren?