simple_translator 0.0.1
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');
}
}