Коллекция бесплатных API -интерфейсов (Google Translate, Bing Translator, Microsoft Translator и Yandex.translate). В настоящее время поддерживает перевод, трансляцию, обнаружение языка и текст в речь.
5 Переводные услуги:
Поддержка перевода, трансляции, обнаружения языка и текста в речь в включенных переводчиках.
Поддержка всех языков каждого переводчика.
Языковой класс с методами получения поддерживаемых языков и определения доступности языка в конкретном переводчике.
Интерфейсы, позволяющие писать пользовательские переводчики и языки.
Класс AggregateTranslator , который группирует переводчиков по умолчанию для простоты использования с возможностью добавления пользовательских переводчиков.
Установите через Nuget
Или через команду:
dotnet add package GTranslate
using GTranslate . Translators ;
// Create an instance of the Google Translator
var translator = new GoogleTranslator ( ) ;
// Translate "Hello world" to Spanish (es)
var result = await translator . TranslateAsync ( "Hello world" , "es" ) ;
Console . WriteLine ( result ) ;
// Output:
// Translation: 'Hola Mundo', TargetLanguage: 'Spanish (es)', SourceLanguage: 'English (en)', Service: GoogleTranslatorТранслитерация аналогична переводу, но способ, которым он работает, специфичен для каждого переводчика. Некоторые переводчики только неявно поддерживают транспортировку, а у других есть выделенные конечные точки транслитерации (например, Yandex).
using GTranslate . Translators ;
var translator = new YandexTranslator ( ) ;
// Transliterate "Hello world" (in Russian) into English (latin script)
var result = await translator . Transliterate ( "Привет, мир" , "en" ) ;
Console . WriteLine ( result ) ;
// Output:
// Transliteration: 'privet, mir', TargetLanguage: 'English (en)', SourceLanguage: 'Russian (ru)', Service: YandexTranslator Рекомендуется использовать MicrosoftTranslator для транслитерации из -за его превосходного API, который позволяет вам явно указать сценарий источника и целевого.
GTRANSLATE предоставляет простой способ получить доступ к Language . Language объект содержит английское имя, нативное имя, код ISO 639-1, код ISO 639-3 и поддерживаемые услуги (двигатели перевода).
Чтобы получить Language объект из его кода ISO 639-1, используйте Language.GetLanguage или Language.TryGetLanguage . Если язык не был найден Language.GetLanguage выбросит исключение и Language.TryGetLanguage просто вернет false . Язык также может быть получен с помощью его английского/нативного имени, ISO-6393 кода и некоторых псевдонимов (например, zh-Hans или zh-Hant ).
using GTranslate ;
var french = Language . GetLanguage ( "fr" ) ; // Get the French language
string input = Console . ReadLine ( ) ;
if ( Language . TryGetLanguage ( input , out var language )
{
// Use language from input
} GTRANSLATE раскрывает полный список языков через языковой LanguageDictionary языка, к которому можно получить доступ через Language.LanguageDictionary . По сути, это словарь кодов ISO 639-1 только для чтения и их соответствующих языков.
Вызов TranslateAsync возвращает объект, вытекающий из ITranslationResult . Он содержит перевод, текст Souce, сервис, исходный язык и целевой язык.
То же самое относится и к TransliterateAsync и ITransliterationResult , но транслитерация присутствует вместо перевода.
Некоторые трансляционные двигатели дадут результаты с дополнительными данными в них. Эти дополнительные данные выявляются через свойства в их конкретных классах. Например, GoogleTranslationResult от ( GoogleTranslator.TranslateAsync ) иногда обеспечивает уверенность в переводе и трансляции.