*veegt het zweet van z'n voorhoofd*
Na jaren ontwikkelen (ok, eigenlijk een paar dagen even doorwerken) is er dan eindelijk de eerste beta versie.
Wat doet het?
Het doet in feite wat v1 ook al deed, op vrijwel dezelfde manier. Sterker nog: het mist nog wat functionaliteit ten opzichte van v1, maar daarentegen zijn er ook weer een aantal functies bijgekomen. Het merendeel zit 'm echter nog onder de motorkap, verborgen van de gebruiker. De gehele code is herschreven en zou een stuk flexibeler moeten zijn.
Let er wel op dat dit dus een beta versie is, er zullen ongetwijfeld nog fouten in zitten, zo niet dan mag je me opvangen als ik flauwval. De code is namelijk amper getest: er is 1 language file op los gelaten, wat kleine tests zijn uitgevoerd, maar voorderest is het nog even wachten op real-life situaties.
Bijt het?
Ik mag hopen van niet. Om het beestje kalm te houden moet je echter wel eerst even OpenXML installeren, waar je overigens ook UnicodeConv voor nodig hebt (die te vinden is op dezelfde website). Installeren is technisch gezien niet eens nodig, de installatie is op een of andere manier fubar* bij mijn machine, geeft errormeldingen over de packages. Toch draait NLDTranslate prima, dit omdat het OpenXML/UnicodeConv pad wel aan de Library Path is toegevoegd en NLDTranslate zelf alle OpenXML componenten dynamisch aanmaakt.
Wat is er op dit moment nieuw?
- Interne verbeteringen, met name de communicatie door middel van interfaces. Dit blijkt ook in de praktijk veel flexibeler te zijn.
- Betere afhandeling van XML entities. Behalve de standaard ©-stijl entities worden nu ook »-stijl entities geparsed.
- Een helpbestand met een korte uitleg over de classes en methods...
- Eindelijk een duidelijke licentie
Wat is er nog te doen?
Ik heb al een aantal {TODO} tags in de source staan, maar hier even een overzicht van mijn huidige lijstje wat betreft NLDTranslate zelf. Dit is dus exclusief alle externe programma's zoals de Delphi expert of de taal-editor.
- Undo-functionaliteit inbouwen. Zodra een andere taal wordt geselecteerd moeten taalwijzigingen ongedaan worden gemaakt. Dit wordt ingebouwd in TNLDTranslate en niet in een externe component omdat TNLDTranslate degene is die de wijzigingen toepast.
- Overige componenten uit v1 vertalen naar v2.
- Het uitlezen van de taalomschrijving intern anders afhandelen. Op dit moment wordt eigen code gebruikt om snel de XML file ernstig primitief te parsen, maar ik heb zojuist antwoord gekregen op een post richting de OpenXML Mailing List waarin een techniek werd beschreven waardoor ik gebruik kan maken van de OpenXML parser zonder het gehele bestand te hoeven parsen. Op die manier kan ik een enorme snelheidswinst bereiken ten opzicht van de normale parser en toch netjes gebruik maken van een gespecialiseerde XML parser .
Voor degenen die het aandurven : ftp://ftp.nldelphi.com/public/OpenSo...ate2.beta1.zip
Laat het uiteraard even weten indien er problemen zijn... en hopelijk veel plezier ermee!
* fubar = [beep]ed up beyond all recognition
Bookmarks