Typically English is the best language for any software, since typically it is the first language that software supports. Working out accents based on some kind of auto-correct / guess mechanism is probably not a good idea. One of the main advantages of a real, physical keyboard is that it is so much more accurate than a touch keyboard: if you make a typo, it's you who made the typo, not some inaccuracy in the touch detection hardware or some kind of incorrect guess by some kind of auto-correct mechanism. Also it is not that easy. E.g. in French, both "a" (has) and "à" (in/to/at) are very common words. So working out the accent is not trivial: at the very least the software would need to understand French grammar. It's even worse in a language like Dutch, where accents can be used for emphasis. E.g. "háár haar" means "her hair" while "haar háár" means "her hair". Another use of accents in Dutch is for disambiguation: "voorkomen" is usually spelled without any accent, but it can mean both "prevent" ("voorkómen") and "occur" ("vóórkomen"), and depending on the context, it can be impossible to know which one is meant if you don't write the accent. Same with "één" (one) and "een" (an) - typically both are grammatically possible, and it depends entirely on the writer's intention which one is meant. So in summary: With the current state of the art in artificial intelligence, there is no way that software can automatically solve this problem. If software can work out the accents, then it can basically also pass a Turing test.