Translator::get and choice now try the base language (region stripped)
before the configured fallback locale. A request for it-IT now resolves
against translations under lang/it/ instead of slipping through to en.
Mobile browsers virtually always send region-tagged Accept-Language
(it-IT, en-US, …), but apps typically organize translations by base
language. Exact-match-only lookup meant every mobile user saw the
fallback locale regardless of device language.
Resolution order is now: exact locale → base language → fallback.