simple_translator 0.0.1 copy "simple_translator: ^0.0.1" to clipboard
simple_translator: ^0.0.1 copied to clipboard

A simple and lightweight package for translating text using the Google Translate API.

example/lib/main.dart

// main.dart or example.dart

// This single import provides access to all public classes like
// GoogleTranslator and LanguageNotSupportedException.
import 'package:simple_translator/simple_translator.dart';
import 'dart:io';

void main() async {
  final translator = GoogleTranslator(client: ClientType.siteGT);

  print("--- Demonstrating GoogleTranslator class ---");

  // Example 1: Translate from English to Spanish
  try {
    print("Translating 'Hello world' from English to Spanish...");
    final translation = await translator.translate(
      "Hello world",
      from: 'en',
      to: 'es',
    );

    print('Original Text: ${translation.source}');
    print('Translated Text: ${translation.text}');
    print('Source Language: ${translation.sourceLanguage.name}');
    print('Target Language: ${translation.targetLanguage.name}');
    print('----------------------------------------');
  } on Exception catch (e) {
    _handleError(e);
  }

  // Example 2: Translate using automatic language detection
  try {
    print("Translating 'Bonjour le monde' with auto-detection...");
    final autoTranslation = await translator.translate(
      "Bonjour le monde",
      to: 'de', // Target language is German
    );

    print('Original Text: ${autoTranslation.source}');
    print('Translated Text: ${autoTranslation.text}');
    print('Detected Language: ${autoTranslation.sourceLanguage.name}');
    print('Target Language: ${autoTranslation.targetLanguage.name}');
    print('----------------------------------------');
  } on Exception catch (e) {
    _handleError(e);
  }

  print("\n--- Demonstrating String extension method ---");

  // Example 3: Translate directly on a String
  try {
    print("Translating '안녕하세요' to English using the extension...");
    final extensionTranslation = await "안녕하세요".translate(to: 'en');

    print('Original Text: ${extensionTranslation.source}');
    print('Translated Text: ${extensionTranslation.text}');
    print('Detected Language: ${extensionTranslation.sourceLanguage.name}');
    print('Target Language: ${extensionTranslation.targetLanguage.name}');
    print('----------------------------------------');
  } on Exception catch (e) {
    _handleError(e);
  }

  print("\n--- Demonstrating error handling ---");

  // Example 4: Intentional error with an unsupported language code
  try {
    print("Attempting to translate to an unsupported language code 'xyz'...");
    await translator.translate("This will fail", to: 'xyz');
  } on LanguageNotSupportedException catch (e) {
    print('Caught Expected Error: ${e.msg}');
    print('----------------------------------------');
  } on Exception catch (e) {
    _handleError(e);
  }

  // Example 5: Using the convenience method to translate and print
  print("Using the translateAndPrint() convenience method...");
  translator.translateAndPrint('Hello', from: 'en', to: 'ru');
}

/// Helper function to handle and print errors gracefully.
void _handleError(dynamic e) {
  if (e is Exception) {
    stderr.writeln('An error occurred: $e');
  } else {
    stderr.writeln('An unexpected error occurred: $e');
  }
}
6
likes
150
points
32
downloads

Publisher

verified publisherrahulreza.com

Weekly Downloads

A simple and lightweight package for translating text using the Google Translate API.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, http

More

Packages that depend on simple_translator