deepl_dart 1.5.0 copy "deepl_dart: ^1.5.0" to clipboard
deepl_dart: ^1.5.0 copied to clipboard

Dart library for the DeepL language translation API. Pure Dart. Inspired by the official DeepL API documentation.

example/deepl_dart_example.dart

import 'dart:io';

import 'package:deepl_dart/deepl_dart.dart';

void main() async {
  // Construct Translator
  Translator translator = Translator(authKey: '<your_auth_key>');
  Translator(
    authKey: '<foo>',
    headers: {'my header key': 'my header value'},
    serverUrl: 'alternative deepl api server url',
    maxRetries: 42,
  );

  // ============ TRANSLATE ====================================================

  // Get available languages
  List<Language> sourceLangs = await translator.getSourceLanguages();
  print(sourceLangs);
  List<Language> targetLangs = await translator.getTargetLanguages();
  print(targetLangs);

  // Translate single text
  TextResult result =
      await translator.translateTextSingular('Hello World', 'de');
  print(result);

  // Translate single text with options
  TextResult resultWithOptions =
      await translator.translateTextSingular('Hello World', 'de',
          options: TranslateTextOptions(
            splitSentences: "0",
            preserveFormatting: true,
            formality: "more",
            glossaryId: "123",
            tagHandling: "xml",
            outlineDetection: true,
            nonSplittingTags: "tag1,tag2",
            splittingTags: "tag3,tag4",
            ignoreTags: "tag5,tag6",
            context: "This is my context.",
          ));
  print(resultWithOptions);

  // Translate multiple texts
  List<TextResult> results =
      await translator.translateTextList(['Hello World', 'Hola Mundo'], 'de');
  print(results);

  // Translate document
  DocumentStatus status = await translator.translateDocument(
      File('<input_file_path>'), File('<output_file_path>'), 'de');
  print(status);

  // ============ GLOSSARY =====================================================

  // Get supported language pairs for glossaries
  List<GlossaryLanguagePair> langPairs =
      await translator.getGlossaryLanguagePairs();
  print(langPairs);

  // Create glossary
  GlossaryInfo glossaryInfo = await translator.createGlossary(
    name: 'my glossary',
    sourceLang: 'en',
    targetLang: 'de',
    entries: GlossaryEntries(entries: {
      'hello': 'hi',
      'world': 'erde',
    }),
  );
  print(glossaryInfo);

  // Create glossary with CSV file
  GlossaryInfo csvGlossaryInfo = await translator.createGlossaryWithCsvFile(
    name: 'my glossary',
    sourceLang: 'en',
    targetLang: 'de',
    csvFile: File('<csv_file_path>'),
  );
  print(csvGlossaryInfo);

  // List glossaries
  List<GlossaryInfo> glossaryList = await translator.listGlossaries();
  print(glossaryList);

  // Get glossary info
  glossaryInfo = await translator.getGlossary(glossaryInfo.glossaryId);
  print(glossaryInfo);

  // Get glossary entries
  GlossaryEntries glossaryEntries =
      await translator.getGlossaryEntries(glossaryId: glossaryInfo.glossaryId);
  print(glossaryEntries);

  // Delete glossary
  await translator.deleteGlossary(glossaryId: glossaryInfo.glossaryId);

  // ============ USAGE ========================================================

  // Get usage
  Usage usage = await translator.getUsage();
  print(usage);
}
26
likes
160
points
589
downloads

Publisher

verified publisherkpelz.eu

Weekly Downloads

Dart library for the DeepL language translation API. Pure Dart. Inspired by the official DeepL API documentation.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

collection, http, json_annotation, universal_io

More

Packages that depend on deepl_dart