🌍 Localingo 🌍
Advanced AI-Powered Localization for Flutter
Breaking language barriers with ease
🚀 Why Localingo?
Localingo is not just another localization package. It's an AI-powered assistant that handles the tedious parts of internationalization. From batch AI translations to generating type-safe keys with placeholder support, Localingo makes your app global in minutes.
✨ Key Features (v1.1.0)
- ⚡ Batch AI Translation: Grouped requests make translation 10x faster.
- 🔄 Incremental Updates: Only translates new keys. No redundant API calls, no loss of manual edits.
- 📚 Technical Dictionary: Context-aware translations for mobile UI (e.g., "Notifications" -> "إشعارات").
- 🛡️ Placeholder Protection: AI-safe handling of
{variable}tags. - 🎯 Type-Safe LocaleKeys: Access your strings via
LocaleKeys.someKey()with full IDE support. - 🧩 Nested JSON Support: Organise your keys into objects for better maintainability.
- ✨ Brand Protection: Preserves technical brands like Flutter, Firebase, Android, iOS, etc.
📦 Installation
Add Localingo to your pubspec.yaml:
dependencies:
localingo: ^1.1.0
flutter_localizations:
sdk: flutter
🚀 Quick Start
Step 1: Source Language
Create assets/l10n/en.json:
{
"welcome_user": "Welcome, {name}!",
"auth": {
"login": "Log In"
}
}
Step 2: Generate
Run the interactive CLI:
dart run localingo:generate
Localingo will:
- Detect new keys.
- Translate in batches (AI-powered).
- Securely handle placeholders.
- Generate
lib/locale_keys.dart.
Step 3: Usage
// Type-safe with arguments!
Text(LocaleKeys.welcomeUser(name: 'Mohab'))
Text(LocaleKeys.authLogin)
📋 API Reference
Global Navigator Key
To use translations without context, register your navigator key:
MaterialApp(
navigatorKey: Localingo.navigatorKey, // Using the global key
localizationsDelegates: [
AppLocalizations.delegate,
...
],
)
Made with ❤️ for the Flutter Community