Lingvit

Universal mobile & web translation for Flutter

Deliver native mobile and web apps in dozens of languages. lingvit_flutter caches translations locally on device, supports instant language switching, and works offline.

What gets translated

  • iOS, Android, macOS, Windows, Linux, and Flutter Web
  • Widget tree text widgets (Text('Hello'.tr()))
  • Dynamic string interpolation and pluralization
  • Offline SQLite / SharedPreferences translation caching
  • Instant in-app language switching without restarting
  • Fail-open fallback to default locale strings
  • Material and Cupertino widget integration
  • Automated string extraction CLI

Setup guide

  1. Add dependency

    Add lingvit_flutter to your pubspec.yaml file.

    flutter pub add lingvit_flutter
  2. Initialize in main.dart

    Initialize Lingvit before running your Flutter application.

    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Lingvit.init(projectKey: 'lng_pk_...');
      runApp(const MyApp());
    }
  3. Translate strings with .tr()

    Call .tr() on any string literal or use LingvitText widgets.

    Text('Welcome back'.tr())

Frequently asked questions

Does it work offline without an active internet connection?

Yes. Translations are cached in local device storage on first load and remain accessible offline indefinitely.

What happens if a translation request fails?

The SDK fails open immediately, returning your source Dart string without blocking the UI or throwing exceptions.

Can users switch languages inside the app?

Yes. Calling Lingvit.setLocale('es') updates all listening widgets instantly without restarting the application.

Does it support RTL languages like Arabic and Hebrew?

Yes. Directionality updates automatically to TextDirection.rtl when an RTL language is selected.

Start translating your Flutter & Dart site

A monthly word generation allowance for new translations. Cached delivery uses no extra allowance.