๐ŸŒ Zeba Academy Multilanguage Toolkit

A powerful Flutter multilingual utilities toolkit that simplifies internationalization (i18n) with script detection, automatic RTL/LTR switching, translation-ready architecture, and locale management helpers.

Built for scalable Flutter applications requiring clean and flexible language support.


โœจ Features

โœ… Script Detection (Tamil, Arabic, Latin, etc.) โœ… Automatic RTL / LTR Direction Switching โœ… Translation-Ready Architecture โœ… Locale Management Helpers โœ… Developer-Friendly Extensions API โœ… Lightweight & Dependency-Free โœ… Easy Integration with Existing Apps


๐Ÿ“ฆ Installation

Add dependency in your pubspec.yaml:

dependencies:
  zeba_academy_multilanguage_toolkit: ^1.0.0

Then run:

flutter pub get

๐Ÿš€ Quick Start

Import the package:

import 'package:zeba_academy_multilanguage_toolkit/zeba_academy_multilanguage_toolkit.dart';

๐Ÿ”Ž Script Detection

Automatically detect language script from text.

final script = ScriptDetector.detectScript('เฎตเฎฃเฎ•เฏเฎ•เฎฎเฏ');

print(script); // tamil

Supported detection:

  • Tamil
  • Arabic
  • Latin
  • Unknown fallback

โ†”๏ธ RTL / LTR Auto Direction

Automatically set UI direction based on locale.

TextDirection direction =
    DirectionHelper.getDirection(const Locale('ar'));

Result:

  • Arabic โ†’ RTL
  • English โ†’ LTR
  • Tamil โ†’ LTR

๐ŸŒ Locale Manager

Manage app language dynamically.

final localeManager = LocaleManager();

localeManager.changeLanguage('ta');

Use with MaterialApp:

MaterialApp(
  locale: localeManager.locale,
)

๐ŸŒ Translation System

1๏ธโƒฃ Define Translations

final controller = TranslationController();

controller.load(
  TranslationModel({
    'en': {'hello': 'Hello'},
    'ta': {'hello': 'เฎตเฎฃเฎ•เฏเฎ•เฎฎเฏ'},
    'ar': {'hello': 'ู…ุฑุญุจุง'},
  }),
);

2๏ธโƒฃ Change Language

controller.changeLanguage('ta');

3๏ธโƒฃ Translate Text

Text(controller.tr('hello'));

โœจ Context Extensions

Cleaner developer experience:

context.isRTL
context.textDirection
context.locale

๐Ÿงฑ Auto Direction Wrapper

Wrap widgets for automatic layout direction.

AutoDirection(
  locale: const Locale('ar'),
  child: MyApp(),
);

๐Ÿ“ Package Structure

lib/
 โ””โ”€โ”€ src/
      โ”œโ”€โ”€ core/
      โ”‚     โ”œโ”€โ”€ script_detector.dart
      โ”‚     โ””โ”€โ”€ direction_helper.dart
      โ”œโ”€โ”€ locale/
      โ”‚     โ”œโ”€โ”€ locale_manager.dart
      โ”‚     โ””โ”€โ”€ locale_extensions.dart
      โ”œโ”€โ”€ translation/
      โ”‚     โ”œโ”€โ”€ translation_controller.dart
      โ”‚     โ””โ”€โ”€ translation_model.dart
      โ””โ”€โ”€ utils/
            โ””โ”€โ”€ language_constants.dart

๐Ÿงช Testing

Run tests:

flutter test

๐ŸŽฏ Use Cases

  • Multilingual Apps
  • Education Platforms
  • International Products
  • Arabic / RTL Apps
  • Tamil + English Hybrid Apps
  • Enterprise Flutter Applications

๐Ÿ›ฃ๏ธ Roadmap

  • JSON translation loader
  • ARB / Flutter Intl support
  • Device locale auto-detection
  • Pluralization support
  • ICU message formatting
  • GetX integration

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!


๐Ÿ“„ License

This project is licensed under the GPL License.


๐Ÿ‘จโ€๐Ÿ’ป Author

Zeba Academy

Building reusable Flutter tools for modern app development.


โญ Support

If you like this package:

โญ Star the repository ๐Ÿ‘ Share with Flutter developers ๐Ÿš€ Use it in your projects