Une collection d'API de traduction gratuite (Google Translate, Bing Traductor, Microsoft Traductor et Yandex.Translate). Prend en charge la traduction, la translittération, la détection du langage et le texte-parole.
5 Services de traduction:
Prise en charge de la traduction, de la translittération, de la détection du langage et du texte à la parole dans les traducteurs inclus.
Prise en charge de toutes les langues de chaque traducteur.
Une classe de langue avec des méthodes pour obtenir les langues prises en charge et déterminer la disponibilité d'une langue dans un traducteur spécifique.
Interfaces, permettant d'écrire des traducteurs et des langues personnalisés.
Une classe AggregateTranslator qui regroupe les traducteurs par défaut pour faciliter l'utilisation avec la possibilité d'ajouter des traducteurs personnalisés.
Installer via Nuget
Ou via la commande:
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 translittération est similaire à la traduction, mais la façon dont elle fonctionne est spécifique à chaque traducteur. Certains traducteurs ne prennent en charge que la translittération implicitement et d'autres ont des critères de terminaison translittérisés dédiés (comme 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 Il est recommandé d'utiliser MicrosoftTranslator pour la translittération en raison de son API supérieure qui vous permet de spécifier explicitement le script source et cible.
GTRANSLATE offre un moyen facile d'accéder aux langues via la classe Language . Un objet Language contient le nom anglais, le nom natif, le code ISO 639-1, le code ISO 639-3 et les services pris en charge (moteurs de traduction).
Pour obtenir un objet Language à partir de son code ISO 639-1, utilisez les méthodes Language.GetLanguage ou Language.TryGetLanguage . Si la langue n'a pas été trouvée Language.GetLanguage L'ensemble de Language lancera une exception et Language.TryGetLanguage reviendra simplement false . Une langue peut également être obtenue via son nom anglais / natif, le code ISO-6393 et certains alias (comme 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
} GTRANSLATE expose la liste complète des langues via une classe de dictionnaire linguistique LanguageDictionary qui peut être accessible via Language.LanguageDictionary . Il s'agit essentiellement d'un dictionnaire en lecture seule des codes ISO 639-1 et de leurs langues respectives.
L'appel TranslateAsync renvoie un objet dérivant d' ITranslationResult . Il contient la traduction, le texte SOUCE, le service, la langue source et la langue cible.
Il en va de même pour TransliterateAsync et ITransliterationResult mais la translittération est présente au lieu de la traduction.
Certains moteurs de traduction fourniront des résultats avec des données supplémentaires. Ces données supplémentaires sont exposées à travers des propriétés dans leurs classes de béton. Par exemple, GoogleTranslationResult de ( GoogleTranslator.TranslateAsync ) fournira parfois la confiance de la traduction et de la translittération.