language_translator 0.0.4+1
language_translator: ^0.0.4+1 copied to clipboard
A lightweight Flutter package for easy multilingual support, providing string translation with or without context, RTL support, and a custom widget for translated text display.
language_translator #
A lightweight Flutter package for seamlessly integrating multi-language support into your application. This package simplifies translating text and managing locale data for various supported languages, with or without BuildContext
.
Features #
- Translate strings with or without
BuildContext
- Custom
Text
widget that auto-translates - Localization delegate setup
- Built-in support for RTL languages
- Singleton-based utilities for managing languages
- Supports multiple languages out-of-the-box (English, Bengali, Hindi, Arabic, Chinese, French, and many more)
Getting Started #
Installation #
Add this to your pubspec.yaml
:
dependencies:
language_translator: <latest_version>
Setup #
- Add your language JSON files to your assets:
flutter:
assets:
- assets/locale/en.json
- assets/locale/bn.json
# Add more as needed
- Register the localization delegate in your
MaterialApp
:
MaterialApp(
localizationsDelegates: const [
Translate.delegate,
// other delegates
],
supportedLocales: AppLanguage.supportLanguage,
locale: AppLanguage.defaultLanguage,
// ...
)
Translate Text #
Using BuildContext
:
Text('hello_key'.translateTxt(context));
Without BuildContext
:
final String helloTxt = 'hello_key'.translateWithoutContext();
Using AppTranslatedTextView
Widget:
AppTranslatedTextView(
txt: 'hello_key',
style: TextStyle(fontSize: 18),
)
Supported Languages #
- Afrikaans
- Amharic
- Arabic
- Azerbaijani
- Belarusian
- Bulgarian
- Bengali
- Bosnian
- Catalan
- Czech
- Welsh
- Danish
- German
- Greek
- English (US)
- English (UK)
- Spanish
- Estonian
- Basque
- Persian
- Finnish
- French
- Galician
- Gujarati
- Hebrew
- Hindi
- Croatian
- Hungarian
- Armenian
- Indonesian
- Icelandic
- Italian
- Japanese
- Georgian
- Kazakh
- Khmer
- Kannada
- Korean
- Kyrgyz
- Lao
- Lithuanian
- Latvian
- Macedonian
- Malayalam
- Mongolian
- Marathi
- Malay
- Burmese
- Nepali
- Dutch
- Norwegian
- Odia
- Punjabi
- Polish
- Pashto
- Portuguese
- Portuguese (Brazil)
- Portuguese (Portugal)
- Romanian
- Russian
- Sindhi
- Sinhala
- Slovak
- Slovenian
- Albanian
- Serbian
- Swedish
- Swahili
- Tamil
- Telugu
- Thai
- Turkmen
- Turkish
- Tatar
- Ukrainian
- Urdu
- Uzbek
- Vietnamese
- Chinese (Simplified)
- Chinese (China)
- Chinese (Taiwan)
- Zulu
File Structure #
language_translator/
├── utils/
│ ├── translate.dart
│ ├── util_load_local_file.dart
│ ├── util_language_name.dart
├── app_language.dart
├── app_local_delegate.dart
├── extension/
│ └── string_extensions.dart
├── widgets/
│ └── app_translated_text_view.dart
Contributing #
Feel free to open issues or submit PRs for improvements, additional language support, or feature suggestions.
License #
MIT