Added method to calculate the overall translation progress

This commit is contained in:
Thorsten Sommer 2022-09-26 19:24:24 +02:00
parent 40877241fe
commit c8b5dc9b7a
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -51,4 +51,15 @@ public static class TranslationProcessor
return updateException.ToProcessorResult<Translation>(); return updateException.ToProcessorResult<Translation>();
} }
} }
public static async Task<ProcessorResult<int>> CalculateTranslationProgress()
{
await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>();
var numCultures = (await AppSettings.GetCultureIndices()).Count;
var numTextElements = await db.TextElements.CountAsync();
var numTotalTranslations = numCultures * numTextElements;
var numTextElementsTranslated = await db.Translations.CountAsync(n => !string.IsNullOrWhiteSpace(n.Text));
return new ProcessorResult<int>(numTextElementsTranslated * 100 / numTotalTranslations);
}
} }