Spaces:
Runtime error
Runtime error
File size: 1,678 Bytes
3dd5c9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | namespace TaskTrackingSystem.Shared.Localization;
public sealed record TranslationResult(
bool Success,
string? TranslatedText,
string? ErrorMessage,
string? Provider,
bool WasGenerated)
{
public static TranslationResult NotConfigured() =>
new(false, null, "Translation provider is not configured.", "none", false);
public bool Succeeded => Success;
public string? Text => TranslatedText;
public static TranslationResult Generated(string text, string provider) =>
new(true, text, null, provider, true);
}
public interface IContentTranslationService
{
Task<TranslationResult> TranslateAsync(
string sourceText,
string sourceLanguage,
string targetLanguage,
CancellationToken cancellationToken = default);
Task<TranslationResult> TransliterateNameAsync(
string sourceName,
string sourceLanguage,
string targetLanguage,
CancellationToken cancellationToken = default);
}
public sealed record TranslationRequest(
string Text,
string SourceLanguage,
string TargetLanguage,
bool IsName = false);
public sealed class NoOpContentTranslationService : IContentTranslationService
{
public Task<TranslationResult> TranslateAsync(string sourceText, string sourceLanguage, string targetLanguage, CancellationToken cancellationToken = default) =>
Task.FromResult(TranslationResult.NotConfigured());
public Task<TranslationResult> TransliterateNameAsync(string sourceName, string sourceLanguage, string targetLanguage, CancellationToken cancellationToken = default) =>
Task.FromResult(TranslationResult.NotConfigured());
}
|