Минимальный тестовый проект, демонстрирующий, как корректно перестраивать экраны в стеке при смене локали с easy_localization.
Фикс адресует проблему: при смене языка текущий экран обновляется, а экраны под ним — нет см.
Создаём виджет-обёртку LocaleRebuilder, который:
- подписывается на context.locale (через InheritedWidget внутри easy_localization);
- только при фактической смене локали помечает всё поддерево как “грязное” (markNeedsBuild), вызывая перестройку всех потомков;
- не вмешивается в обычный цикл build и не создаёт “шторм” перестроек.
Экран Page One содержит кнопки "EN", "RU" и кнопку перехода на страницу 2.
Сменим язык, и при переходе на страницу 2 видим, что там язык тоже сменился.
![]() |
![]() |
|---|
Сменим там язык - при переходе обратно язык меняется тоже.

