Wrapper um das mehrsprachige Online-Wörterbuch von Glosbe. Übersetzen Sie und erhalten Sie Definitionen von Wörtern zwischen Sprachen.
Sehen Sie sich eine vollständige Liste der unterstützten Sprachen an.
Fügen Sie diese Zeile zur Gemfile Ihrer Anwendung hinzu:
gem 'glosbe-translate'
Und dann ausführen:
$ bundle
Oder installieren Sie es selbst als:
$ gem install glosbe-translate
Alle Übersetzungen und Definitionen from
to
den ISO-639-Sprachcodes in der zwei- oder dreistelligen Version. Glosbe unterstützt eine lange Liste von Sprachen.
Klassenmethoden für das Sprachobjekt, mit denen Sie eine einzelne Suche durchführen können:
Glosbe :: Language . translate ( "please" , from : :en , to : :nl )
=> "alstublieft"
Rufen Sie ein Array von Definitionen in der from
Sprache ab:
Glosbe :: Language . define ( "pineapple" , from : :en , to : :fr )
=> [ "fruit" ,
"Large sweet fleshy tropical fruit with a terminal tuft of stiff leaves." ,
"plant" ]
Rufen Sie ein Array von Definitionen in der to
ab:
Glosbe :: Language . translated_define ( "pie" , from : :en , to : :fr )
=> [ "Plat constitué de viandes, fruits ou autres nourriture cuits dans ou sur une pâte." ,
"Plat, préparation à base de pâte aplatie au rouleau, et d’une garniture salée ou sucrée" ]
Jede der drei oben genannten Methoden kann auch das einfachere Schlüsselwertpaar from: :to
verwenden:
Glosbe :: Language . translate ( "fromage" , fr : :en )
=> "cheese"
Übersetzungen und Definitionen erfolgen über ein Language
:
language = Glosbe :: Language . new ( from : "eng" , to : "nld" )
Symbole und Zeichenfolgen werden akzeptiert und der Sprachcode wird so konvertiert, dass er den Erwartungen der API entspricht.
Zum Übersetzen und Definieren einer Phrase mit diesem Objekt stehen dieselben drei Methoden zur Verfügung:
language . translate ( "please" )
=> "alstublieft"
language . define ( "pineapple" )
=> [ "fruit" ,
"Large sweet fleshy tropical fruit with a terminal tuft of stiff leaves." ,
"plant" ]
language . translated_define ( "pie" )
=> [ "Plat constitué de viandes, fruits ou autres nourriture cuits dans ou sur une pâte." ,
"Plat, préparation à base de pâte aplatie au rouleau, et d’une garniture salée ou sucrée" ]
Bei einer Suche wird ein Response
zurückgegeben:
response = language . lookup ( "coffee" )
Die Antwort stellt alle von der API zurückgegebenen Felder in einer sehr ähnlichen Struktur dar.
War das HTTP 200 in Ordnung?
response.success?
=> true
Wurden Ergebnisse zurückgegeben?
response.found?
=> true
Der Einfachheit halber werden die Felder in der Antwort direkt zugeordnet:
response . from
=> "en"
response . to
=> "nl"
response . phrase
=> "coffee"
Manchmal kann eine Nachricht vom Server zurückgegeben werden. Dies ist insbesondere für Ratenbegrenzungswarnungen interessant:
response . message
=> "Too many queries, your IP has been blocked"
Praktische Methoden extrahieren dieselben drei Funktionen und geben Werte zurück, die oben wiederholt wurden:
response . translation
response . define
response . translated_define
Die Rohergebnisse passend zur Struktur der API sind hier verfügbar.
Die Liste aller Ergebnisse ist aus einer Antwort verfügbar:
response . results
=> [ ... ]
Jedes Ergebnisobjekt verfügt über die übersetzte Phrase, sofern vorhanden.
result . phrase
=> "koffie"
Das Ergebnis listet dann seine Autoren auf:
result . authors
=> [ ... ]
Und seine Bedeutung:
result . meanings
=> [ ... ]
Jede Bedeutung hat Sprache und Text:
meaning . text
=> "Een drank bekomen door infusie van de bonen van de koffieplant in heet water."
meaning . language
=> "nl"
Es gibt keine Garantie dafür, dass eines dieser Felder vorhanden ist. Allerdings geben sie für Wertfelder eine Zeichenfolge oder nil
zurück und für Sammlungsfelder immer ein leeres Array.
Die Protokollierung ist standardmäßig auf nil
eingestellt, es kann jedoch jedes Logger
Objekt übergeben werden, um Netzwerkanforderungen zu debuggen.
Glosbe . logger = Logger . new ( "glosbe.log" )
Glosbe . logger = Rails . logger
Führen Sie nach dem Auschecken des Repos bin/setup
aus, um Abhängigkeiten zu installieren. Führen Sie dann rake spec
aus, um die Tests auszuführen. Sie können auch bin/console
ausführen, um eine interaktive Eingabeaufforderung zu erhalten, mit der Sie experimentieren können.
Um dieses Juwel auf Ihrem lokalen Computer zu installieren, führen Sie bundle exec rake install
aus.
Fehlerberichte und Pull-Requests sind auf GitHub unter https://github.com/kmcphillips/glosbe-translate willkommen.
Kommen Sie und sprechen Sie mit mir darüber, woran Sie gerade arbeiten. Ich würde gerne PRs überprüfen, wenn Sie Fehler finden oder an Verbesserungen denken.
Das Juwel ist als Open Source unter den Bedingungen der MIT-Lizenz verfügbar.