Resolve user locale by checking the Telegram language code as-is, then
its Babel-normalized form, then the base language. This fixes lowercase
regional codes such as pt-br failing to match available translations like
pt_BR. Add tests covering region-code variants and fallback behavior, and
update i18n documentation plus changelog notes.
The I18n Class gets imported in 3.0.0b2 as follows:
from aiogram.utils.i18n import I18n
Whereas the documentation implies that it should be:
from aiogram.utils.i18n.code import I18n