translateBulkToSingleTarget method

  1. @override
Future<List<String>> translateBulkToSingleTarget(
  1. List<String> sources,
  2. LanguageCode sourceLanguage,
  3. LanguageCode target
)
override

Translates given texts to specified language sources - list of text which should be translated sourceLanguage - the language in which sources were given target - language to which sources should be translated

Implementation

@override
Future<List<String>> translateBulkToSingleTarget(
  List<String> sources,
  LanguageCode sourceLanguage,
  LanguageCode target,
) async {
  logger.info(
      'Translate ${sources.length} texts from $sourceLanguage to $target');

  final apiResult = await client.translate(
    logger: logger,
    messages: sources,
    sourceLanguageCode: sourceLanguage,
    targetLanguageCode: target,
  );

  if (!apiResult.succeeded) {
    logger.warning('Translation failed');
    return sources;
  }

  return apiResult.valueUnsafe.translations
      .map((e) => e.translatedText)
      .toList();
}