It seems you basically agree with my verdict. That google is certainly not perfect, you know it’s machine translated, and don’t nessecarily expect it to be correct, but it actually is better than nothing (something which I couldn’t have said 5 years ago)
With 3) incorrect or variable diacriticals are actually very easy to fix using some slight fuzzy matching. I’ve done it before with the DPPN dictionary. You just take each word, see if it matches any word in the corpus, if there is no match, you then see if there’s a really good fuzzy match, and if there is, you assume that is the word it’s meant to be.
Note there are two approaches to using google. The first is you get a proper account and use their API, either on the fly or in bulk. The second is you just compile an HTML file and upload it to their translation server. The size limit is 1MB, meaning the pali dictionary can be uploaded as two chunks, this obviously only works as a bulk approach (if only because Google is pretty savvy about people exploiting their free web services, they’ll start throwing up captchas if they think they’re getting traffic from a script rather than a human. So you can get away with doing it manually, or perhaps the occasional request by machine, but you certainly can’t do it repeatedly in a short time span)
The advantage of either bulk approach is we send a precompiled dictionary to the user, and the lookup is then instant in their browser.
I would probably go with a bulk approach, where a google translated version is used as a fallback. That is, two dictionaries would be sent over the wire, the first is the human translated one, the second the google translated one. I already do something like this with the Chinese lookup, where a first dictionary is a Buddhist dictionary, and the second a generic one. The second dictionary is used as a fallback, and is marked as such.