Eine Sammlung kostenloser Übersetzungs -APIs (Google Translate, Bing -Übersetzer, Microsoft -Übersetzer und yandex.translate). Unterstützt derzeit Übersetzung, Transliteration, Spracherkennung und Text-zu-Sprache.
5 Übersetzungsdienste:
Unterstützung für Übersetzung, Transliteration, Spracherkennung und Text-zu-Sprache in den eingeschlossenen Übersetzern.
Unterstützung für alle Sprachen jedes Übersetzers.
Eine Sprachklasse mit Methoden zum Erhalten der unterstützten Sprachen und zur Bestimmung der Verfügbarkeit einer Sprache in einem bestimmten Übersetzer.
Schnittstellen, sodass benutzerdefinierte Übersetzer und Sprachen schreiben können.
Eine AggregateTranslator -Klasse, die die Standardübersetzer für einfache Verwendung mit der Möglichkeit gruppiert, benutzerdefinierte Übersetzer hinzuzufügen.
Installieren Sie über Nuget
Oder über den Befehl:
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: GoogleTranslatorTransliteration ähnelt der Übersetzung, aber für jeden Übersetzer ist es spezifisch. Einige Übersetzer unterstützen die Transliteration nur implizit und andere haben dedizierte Transliterationendpunkte (wie 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 Es wird empfohlen, MicrosoftTranslator für die Transliteration zu verwenden, da Sie das Quell- und Zielskript explizit angeben können.
GTRANSLATE bietet eine einfache Möglichkeit, über die Language auf Sprachen zugreifen zu können. Ein Language enthält den englischen Namen, den nativen Namen, den ISO 639-1-Code, den ISO 639-3-Code und die unterstützten Dienste (Übersetzungsmotoren).
Verwenden Sie die Language.GetLanguage , um ein Language aus dem ISO 639-1-Code zu Language.TryGetLanguage . Wenn die Sprache nicht Language.GetLanguage gefunden wurde. GetLanguage wird eine Ausnahme und Language.TryGetLanguage auswerfen. TrygetLanguage wird einfach false zurückgegeben. Eine Sprache kann auch über ihren englischen/nativen Namen, ISO-6393-Code und einige Aliase (wie zh-Hans oder zh-Hant ) erhalten werden.
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 enthält die vollständige Liste der Sprachen durch eine Sprachkurs -Languagedictionary LanguageDictionary , auf die über Language.LanguageDictionary zugegriffen werden kann. Es ist im Wesentlichen ein schreibgeschütztes Wörterbuch von ISO 639-1-Codes und ihren jeweiligen Sprachen.
Das Aufrufen TranslateAsync gibt ein Objekt zurück, das von ITranslationResult abgeleitet ist. Es enthält die Übersetzung, den Souce -Text, die Dienst, die Quellsprache und die Zielsprache.
Gleiches gilt für TransliterateAsync und ITransliterationResult , aber die Transliteration ist anstelle der Übersetzung vorhanden.
Einige Übersetzungsmotoren liefern Ergebnisse mit zusätzlichen Daten. Diese zusätzlichen Daten werden durch Eigenschaften in ihren Betonklassen aufgedeckt. Beispielsweise bietet GoogleTranslationResult von ( GoogleTranslator.TranslateAsync ) manchmal das Vertrauen der Übersetzung und der Transliteration.