Una colección de API de traducción gratuita (Google Translate, Bing Translator, Microsoft Translator y Yandex.Translate). Actualmente admite la traducción, transliteración, detección de idiomas y texto a voz.
5 Servicios de traducción:
Soporte para la traducción, transliteración, detección de idiomas y texto a voz en los traductores incluidos.
Soporte para todos los idiomas de cada traductor.
Una clase de idioma con métodos para obtener los idiomas compatibles y determinar la disponibilidad de un idioma en un traductor específico.
Interfaces, permitiendo escribir traductores e idiomas personalizados.
Una clase AggregateTranslator que agrupa a los traductores predeterminados para facilitar el uso con la capacidad de agregar traductores personalizados.
Instalar a través de Nuget
O a través del comando:
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: GoogleTranslatorLa transliteración es similar a la traducción, pero la forma en que funciona es específica para cada traductor. Algunos traductores solo apoyan la transliteración implícitamente y otros tienen puntos finales de transliteración dedicados (como 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 Se recomienda utilizar MicrosoftTranslator para transliteración debido a su API superior que le permite especificar explícitamente el script de origen y destino.
Gtranslate proporciona una manera fácil de acceder a los idiomas a través de la clase Language . Un objeto Language contiene el nombre en inglés, el nombre nativo, el código ISO 639-1, el código ISO 639-3 y los servicios compatibles (motores de traducción).
Para obtener un objeto Language de su código ISO 639-1, use los métodos Language.GetLanguage o Language.TryGetLanguage . Si el idioma no se encontró Language.GetLanguage Elguangage lanzará una excepción y Language.TryGetLanguage TrygetLanguage simplemente devolverá false . También se puede obtener un idioma a través de su nombre inglés/nativo, código ISO-6393 y algunos alias (como zh-Hans o 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 expone la lista completa de idiomas a través de una clase de diccionario de idiomas LanguageDictionary a la que se puede acceder a través Language.LanguageDictionary . Es esencialmente un diccionario de solo lectura de códigos ISO 639-1 y sus respectivos idiomas.
Llamar TranslateAsync devuelve un objeto derivado de ITranslationResult . Contiene la traducción, el texto Souce, el servicio, el lenguaje de origen y el idioma de destino.
Lo mismo se aplica a TransliterateAsync e ITransliterationResult pero la transliteración está presente en lugar de la traducción.
Algunos motores de traducción proporcionarán resultados con datos adicionales en ellos. Estos datos adicionales están expuestos a través de propiedades en sus clases de concreto. Por ejemplo, GoogleTranslationResult de ( GoogleTranslator.TranslateAsync ) a veces proporcionará la confianza de la traducción y la transliteración.