ARBTranslator.create constructor

ARBTranslator.create({
  1. required AbstractTranslationService translationSvc,
  2. required ARBContent arb,
  3. required LanguageCode sourceLanguage,
  4. required Logger logger,
})

translationSvc - API service which will be used for translation of items arb - the file content which should be translated sourceLanguage - the language of arb

Implementation

factory ARBTranslator.create({
  required AbstractTranslationService translationSvc,
  required ARBContent arb,
  required LanguageCode sourceLanguage,
  required Logger logger,
}) {
  if (translationSvc is SupportsBulkTranslationToTargetsList) {
    return _ARBTranslatorSupportsBulkTranslationToMultipleTargets(
      translationSvc: translationSvc,
      arb: arb,
      sourceLanguage: sourceLanguage,
      logger: logger,
    );
  } else if (translationSvc is SupportsBulkTranslationToSingleTarget) {
    return _ARBTranslatorSupportsBulkTranslationToSingleTarget(
      translationSvc: translationSvc,
      arb: arb,
      sourceLanguage: sourceLanguage,
      logger: logger,
    );
  } else if (translationSvc is SupportsSimpleTranslationToTargetsList) {
    return _ARBTranslatorSupportsSingleTranslationToTargetsList(
      translationSvc: translationSvc,
      arb: arb,
      sourceLanguage: sourceLanguage,
      logger: logger,
    );
  } else {
    return _SlowestARBTranslator(
      translationSvc: translationSvc,
      arb: arb,
      sourceLanguage: sourceLanguage,
      logger: logger,
    );
  }
}