Как правило, вы предполагаете, что локаль определяет представление.
Тем не менее, вы можете предоставить языковой выбор для не носителей языка, которые, по сути, устанавливают свой язык за кулисами.
Например:
- Пользователь A говорит по-французски и живет в Великобритании - языковой стандарт - Великобритания, но пользователь предпочитает сказать, что языковой стандарт - Франция
- Пользователь B говорит по-английски и живет в США. Языковой стандарт - США, и пользователь по умолчанию предпочитает американский английский.
Это должно удовлетворить большинство требований.