Hallo Ruben,
ich würde zuerst die Applikation ohne Javascript schreiben und auf eine semantische Auszeichnung achten. Alle Funktionalität stellt der Server zur Verfügung.
Wenn diese Plattform steht, dann könntest Du _zusätzlich_ AJAX benutzen, um den normalen Seitenkomplettneuaufbau (schönes Wort, gell?) zu verhindern, indem Du den gleichen Request schickst, aber aus dem Serverscript als Response ein xhtml-Fragment übergibst und nur den veränderten Bereich mittels DOM durch diesen Baum ersetzt.
Du könntest durch einen Parameter ajax=true eine Unterscheidung schaffen, damit das Script weiss, ob es eine komplette xhtml-Seite mit text/html oder ein Fragment mit text/xml übergeben soll.
Gruß
Olaf
P.S.: Wie verwaltest Du eigentlich mehrdeutige Vokabeln? Wenn ich
en: bar | de: ___________
sehen würde, wüsste ich nicht, ob ich Bar, Latte oder (musikalischer) Takt eingeben sollte. Ich habe das Problem gerade bei norwegischen Vokabeln.