Skip to main content

mariannmt_wrapper 1.0.2 copy "mariannmt_wrapper: ^1.0.2" to clipboard
mariannmt_wrapper: ^1.0.2 copied to clipboard

Offline Marian neural machine translation for Flutter through a cross-platform FFI API.

example/lib/main.dart

import 'dart:async';
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:logging/logging.dart';

import 'services/translation_service.dart';
import 'screens/translate.dart';
import 'screens/model_manager.dart';
import 'screens/dictionary_manager.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  Logger.root.level = Level.INFO;
  Logger.root.onRecord.listen((record) {
    debugPrint('${record.level.name}: ${record.time}: ${record.message}');
  });

  runApp(const MyApp());
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
  @override
  Future<AppExitResponse> didRequestAppExit() async {
    await TranslationService.cleanup();
    return AppExitResponse.exit;
  }

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Marian NMT Wrapper',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
        useMaterial3: true,
      ),
      home: const TranslateScreen(),
      routes: {
        '/translate': (context) => const TranslateScreen(),
        '/models': (context) => const ModelManagerScreen(),
        '/dictionaries': (context) => const DictionaryManagerScreen(),
      },
    );
  }
}
0
likes
160
points
154
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Offline Marian neural machine translation for Flutter through a cross-platform FFI API.

Repository (GitHub)
View/report issues
Contributing

License

MPL-2.0 (license)

Dependencies

ffi, flutter

More

Packages that depend on mariannmt_wrapper

Packages that implement mariannmt_wrapper