C# 实现离线翻译功能
时间: 2023-09-01 21:13:49 浏览: 587
要在C#中实现离线翻译功能,你可以使用Microsoft提供的Translator Text API。以下是一个简单的示例代码:
首先,你需要安装NuGet包 "Microsoft.Azure.CognitiveServices.Language.Translator"。
```csharp
using System;
using System.Threading.Tasks;
using Microsoft.Azure.CognitiveServices.Language.Translator;
using Microsoft.Azure.CognitiveServices.Language.Translator.Models;
class Program
{
static async Task Main(string[] args)
{
string subscriptionKey = "<Your_Subscription_Key>";
string endpoint = "<Your_Translator_Text_API_Endpoint>";
string textToTranslate = "Hello, how are you?";
var client = new TranslatorTextClient(new ApiKeyServiceClientCredentials(subscriptionKey))
{
Endpoint = endpoint
};
var request = new TranslationRequest()
{
Text = new[] { textToTranslate },
To = new[] { "zh-Hans" } // 目标语言代码,例如 "zh-Hans" 表示简体中文
};
var response = await client.TranslatorText.TranslateArrayAsync(request);
foreach (var translation in response.Translations)
{
Console.WriteLine($"Original: {textToTranslate}");
Console.WriteLine($"Translated: {translation.Text}");
}
}
}
```
在上面的示例代码中,你需要将 `<Your_Subscription_Key>` 替换为你的Translator Text API订阅密钥,将 `<Your_Translator_Text_API_Endpoint>` 替换为你的Translator Text API终结点。然后,你可以指定要翻译的文本和目标语言代码,并使用 `TranslateArrayAsync` 方法进行翻译。最后,你可以打印出翻译结果。
请确保你已经获得了有效的订阅密钥和终结点,并且已经将其替换到代码中。
阅读全文