So, five comments so far – has got me seven suggestions!
There is, as ever, a “correct” way to do this.
The accept-language header can contain a list of languages in order of preference.
Which says “Show French, if not, American English, if not, German.”
Of course, there are close to zero phones which support this and, I suspect, even fewer users who would have bothered setting their phone up for such an occasion!
Please keep the suggestions coming in.