[CL-UX] fix(web3): синхронизация языка RainbowKit с языком сайта (i18next) #862
No reviewers
Labels
No labels
ci-failing
duplicate
needs-rebase
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
europa-tech-srl/europatech!862
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/claude-rainbowkit-locale-sync"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
RainbowKitProvider(app/src/providers/Web3Provider.tsx) теперь получаетlocale, синхронизированный с языком сайта через i18next. Добавлена чистая функцияresolveRainbowKitLocale(lng)+ юнит-тестapp/src/providers/Web3Provider.test.tsx(4 кейса).Зачем
Без
localeRainbowKit определял язык поnavigator.languageбраузера. У пользователя с русским браузером кнопка/модалка кошелька показывали «Подключить кошелёк», хотя в панели сайта выбран EN. Рассинхрон языка кошелька и интерфейса.resolveRainbowKitLocaleсрезает регион-субтег (en-US→en) и делает fallbackit→en(RainbowKit 2.2.11 поддерживает все 12 языков сайта, кроме итальянского).План тестирования
npx vitest run src/providers/Web3Provider.test.tsx— 4/4 GREENnpx tsc --noEmit— чистоnpx eslintна изменённых файлах — 0 warningsWeb3Provider: 8 callсайтов, risk HIGH, но изменение аддитивное (добавлен толькоlocaleprop, сигнатура{children}не тронута) → все вызовы работают как преждеГде могу ошибаться
useTranslation(); на крайних кейсах (язык меняется при открытой модалке RainbowKit) поведение не проверял вживую.