🐛 Fixes of translation api

This commit is contained in:
2025-07-31 20:25:04 +08:00
parent d7dcb7221f
commit 77df275ac0
4 changed files with 17 additions and 10 deletions

View File

@@ -7,19 +7,21 @@ namespace DysonNetwork.Sphere.Translation;
public class TencentTranslation(IConfiguration configuration) : ITranslationProvider
{
private readonly string _region = configuration["Translation:Region"]!;
private readonly Credential _apiCredential = new Credential
private readonly long _projectId = long.Parse(configuration["Translation:ProjectId"] ?? "0");
private readonly Credential _apiCredential = new()
{
SecretId = configuration["Translation:SecretId"]!,
SecretKey = configuration["Translation:SecretKey"]!
};
public async Task<string> Translate(string text, string targetLanguage)
public async Task<string> Translate(string text, string targetLanguage, string? sourceLanguage = null)
{
var client = new TmtClient(_apiCredential, _region);
var request = new TextTranslateRequest();
request.SourceText = text;
request.Source = "auto";
request.Source = sourceLanguage ?? "auto";
request.Target = targetLanguage;
request.ProjectId = _projectId;
var response = await client.TextTranslate(request);
return response.TargetText;
}