smart_localize 0.0.13 copy "smart_localize: ^0.0.13" to clipboard
smart_localize: ^0.0.13 copied to clipboard

is a Flutter localization package that efficiently handles translations by dynamically loading language resources based on the app's locale, with robust fallback support.

Smart Localize Package #

SmartLocalize is a Flutter localization package that efficiently handles translations by dynamically loading language resources based on the app's locale, with robust fallback support.

Repo stars Last Commit Repo PRs Repo issues License

Features #

  • Easy setup with Flutter's localization system.
  • Dynamic locale support with the ability to load multiple languages.
  • Fallback translations for robust error handling.
  • Singleton design pattern for efficient resource management.
  • Customizable translation keys and error logging for development debugging.

Installation #

  1. Add the following to your pubspec.yaml:
dependencies:
  smart_localize: <latest_version>

Usage #

Example #

  Text(
    SmartLocalize.company,
    style: const TextStyle(fontSize: 14),
  )

Basic Usage #

Here is an example of how to use the SmartLocalize widget in your Flutter application:

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      supportedLocales: const [
        Locale('en'),
        Locale('ar'),
      ],
      locale: const Locale('ar'),
      localeResolutionCallback: (locale, supportedLocales) =>
      supportedLocales.contains(locale) ? locale : const Locale('ar'),
      localizationsDelegates: context.smartLocalizeDelegates,
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(SmartLocalize.home),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              SmartLocalize.company,
              style: const TextStyle(fontSize: 14),
            ),
            Text(
              SmartLocalizeValidation.passwordLowercase,
              style: const TextStyle(fontSize: 14),
            ),
            Text(
              SmartLocalizeConfirmation.addToCart,
              style: const TextStyle(fontSize: 14),
            ),
            Text(
              SmartLocalizePlaceholder.enterEmail,
              style: const TextStyle(fontSize: 14),
            ),
          ],
        ),
      ),
    );
  }
}

Localization #

To enable validation message localization in the Factory Constructors, add LocalizeDelegate.delegate to your app's list of delegates:

  MaterialApp(
    localizationsDelegates: context.smartLocalizeDelegates,
    // other app configurations...
  )

Contributions #

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a feature, please send a pull request.

Made with contrib.rocks.

2
likes
160
points
471
downloads

Publisher

verified publisherabdelrahman.ghanem.eg

Weekly Downloads

is a Flutter localization package that efficiently handles translations by dynamically loading language resources based on the app's locale, with robust fallback support.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_localizations

More

Packages that depend on smart_localize