Coder Social home page Coder Social logo

Comments (10)

bw-flagship avatar bw-flagship commented on June 16, 2024 1

@filippkowalski Strange, this should work from my point of view. However, I can't provide any further info because I don't have the code

from easy_localization.

bw-flagship avatar bw-flagship commented on June 16, 2024

Hi @KevinTsangSKH, could you explain the issue with more details? What do you observe, what did you expect?

from easy_localization.

ismailcaakir avatar ismailcaakir commented on June 16, 2024

Hello, @bw-flagship

As you mentioned in the documentation, when we change the language, the languages of some widgets do not change. For example, the language of the widget I wrap with StreamBuilder does not change, but the language of the fields such as the page title changes. If we save the app with CMD + S or do a HOT reload, it gets fixed. At the user level, I need to open and close the app once for the language change to be detected.

If I print a log like the one below in the build function on the pages that do not change, that error is corrected. (I don't know if this will cause performance loss)

print('setting_view: ${context.locale}');

from easy_localization.

bw-flagship avatar bw-flagship commented on June 16, 2024

@ismailcaakir The desired behavior is that all the widgets update when changing the language.
If you experience it differently, could you provide a minimal sample to reproduce? Thanks!

from easy_localization.

filippkowalski avatar filippkowalski commented on June 16, 2024

@KevinTsangSKH did you manage to resolve the issue? I'm facing the same

from easy_localization.

filippkowalski avatar filippkowalski commented on June 16, 2024

ok, I've managed to fix it by removing const from home: const HomePage(), in main.dart

from easy_localization.

bw-flagship avatar bw-flagship commented on June 16, 2024

@filippkowalski This should not be necessary. I suppose your homePage was located in a place where it does not react on the BuildContext, e.g. because it is the home-attribute of the materialApp.
If that's the case, the proper fix would be to wrap it with a Builder()

from easy_localization.

filippkowalski avatar filippkowalski commented on June 16, 2024

@bw-flagship this is my main.dart, it's rather a standard one:

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EasyLocalization.ensureInitialized();

  runApp(
    EasyLocalization(
        supportedLocales: const [ Locale('pl'), Locale('en')],
        path: 'assets/translations',
        fallbackLocale: const Locale('en'),
        child: const myappApp()
    ),
  );
}

class myappApp extends StatefulWidget {
  const myappApp({super.key});

  @override
  State<myappApp> createState() => _myappAppState();
}

class _myappAppState extends State<myappApp> {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: context.localizationDelegates,
      supportedLocales: context.supportedLocales,
      locale: context.locale,
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: AppColors.colorBrand),
        useMaterial3: true,
      ),
      home: HomePage(), // do not put const as it's going to stop refreshing the language
    );
  }
}

from easy_localization.

bw-flagship avatar bw-flagship commented on June 16, 2024

@filippkowalski I sadly cannot run the example because I don't have the HomePage() widget and the required assets.

However, it's exactly as I expected, the HomePage is a direct value for the "home"-Attribute.
This means that it does not react on the Build Context. E.g. if you would change the theme, the update would not work as well.

The fix to not make it const might work, but this is not the correct solution.
IMHO you should wrap the HomePage in a builder, I expect it to work then, and you can leave it const.

from easy_localization.

filippkowalski avatar filippkowalski commented on June 16, 2024

@bw-flagship I did try it, but to no avail
image

from easy_localization.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.