Uma coleção de APIs de tradução gratuita (Google Translate, Bing Translator, Microsoft Translator e Yandex.Translate). Atualmente, suporta tradução, transliteração, detecção de idiomas e fala em fala.
5 Serviços de tradução:
Suporte para tradução, transliteração, detecção de idiomas e texto em fala nos tradutores incluídos.
Suporte para todos os idiomas de cada tradutor.
Uma classe de idiomas com métodos para obter os idiomas suportados e determinar a disponibilidade de um idioma em um tradutor específico.
Interfaces, permitindo escrever tradutores e idiomas personalizados.
Uma classe AggregateTranslator que agrupa os tradutores padrão para facilitar o uso com a capacidade de adicionar tradutores personalizados.
Instale via NuGet
Ou via 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: GoogleTranslatorA transliteração é semelhante à tradução, mas a maneira como funciona é específica para cada tradutor. Alguns tradutores suportam apenas a transliteração implicitamente e outros têm terminais de transliteração 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 É recomendável usar MicrosoftTranslator para transliteração devido à sua API superior que permite especificar explicitamente o script de origem e destino.
O GTranslate fornece uma maneira fácil de acessar idiomas através da classe Language . Um objeto Language contém o nome em inglês, o nome nativo, o código ISO 639-1, o código ISO 639-3 e os serviços suportados (mecanismos de tradução).
Para obter um objeto Language do código ISO 639-1, use os métodos Language.GetLanguage ou Language.TryGetLanguage . Se Language.TryGetLanguage idioma não for encontrado Language.GetLanguage false Um idioma também pode ser obtido através de seu nome em inglês/nativo, código ISO-6393 e alguns aliases (como zh-Hans ou 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
} O GTranslate expõe a lista completa de idiomas por meio de uma classe de idiomas LanguageDictionary que pode ser acessada através Language.LanguageDictionary . É essencialmente um dicionário somente leitura dos códigos ISO 639-1 e seus respectivos idiomas.
Chamar TranslateAsync retorna um objeto derivado de ITranslationResult . Ele contém a tradução, o texto da souce, o serviço, a linguagem de origem e a linguagem de destino.
O mesmo se aplica ao TransliterateAsync e ITransliterationResult , mas a transliteração está presente em vez da tradução.
Alguns mecanismos de tradução fornecerão resultados com dados extras neles. Esses dados extras são expostos através de propriedades em suas classes de concreto. Por exemplo, GoogleTranslationResult de ( GoogleTranslator.TranslateAsync ) às vezes fornece a confiança da tradução e da transliteração.