Wrapper autour du dictionnaire multilingue en ligne Glosbe. Traduisez et obtenez des définitions de mots entre les langues.
Consultez la liste complète des langues prises en charge.
Ajoutez cette ligne au Gemfile de votre application :
gem 'glosbe-translate'
Et puis exécutez :
$ bundle
Ou installez-le vous-même en tant que :
$ gem install glosbe-translate
Toutes les traductions et définitions utilisent les codes de langue ISO-639 to
et from
dans les versions à deux ou trois caractères. Glosbe prend en charge une longue liste de langues.
Méthodes de classe sur l'objet langage qui vous permettent d'effectuer une seule recherche :
Glosbe :: Language . translate ( "please" , from : :en , to : :nl )
=> "alstublieft"
Récupérez un tableau de définitions dans le langage from
:
Glosbe :: Language . define ( "pineapple" , from : :en , to : :fr )
=> [ "fruit" ,
"Large sweet fleshy tropical fruit with a terminal tuft of stiff leaves." ,
"plant" ]
Récupère un tableau de définitions dans le langage to
:
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" ]
N'importe laquelle des trois méthodes ci-dessus peut également utiliser la paire clé-valeur plus simple de from: :to
langues :
Glosbe :: Language . translate ( "fromage" , fr : :en )
=> "cheese"
Les traductions et définitions sont effectuées à partir d'un objet Language
:
language = Glosbe :: Language . new ( from : "eng" , to : "nld" )
Les symboles et les chaînes sont acceptés et le code de langue sera converti pour correspondre à ce qui est attendu par l'API.
Les trois mêmes méthodes sont disponibles pour traduire et définir une phrase à l'aide de cet objet :
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" ]
Effectuer une recherche renverra un objet Response
:
response = language . lookup ( "coffee" )
La réponse représente tous les champs renvoyés par l'API dans une structure très similaire.
Le HTTP était-il un 200 OK ?
response.success?
=> true
Des résultats ont-ils été renvoyés ?
response.found?
=> true
Les champs de la réponse sont directement mappés pour plus de commodité :
response . from
=> "en"
response . to
=> "nl"
response . phrase
=> "coffee"
Il peut parfois y avoir un message renvoyé par le serveur. Ceci est particulièrement intéressant pour les avertissements de limitation de débit :
response . message
=> "Too many queries, your IP has been blocked"
Les méthodes pratiques extraient les trois mêmes fonctions et renvoient les valeurs répétées ci-dessus :
response . translation
response . define
response . translated_define
Les résultats bruts correspondant à la structure de l'API sont disponibles ici.
La liste de tous les résultats est disponible à partir d'une réponse :
response . results
=> [ ... ]
Chaque objet de résultat a la phrase traduite si elle est présente ;
result . phrase
=> "koffie"
Le résultat liste ensuite ses auteurs :
result . authors
=> [ ... ]
Et ses significations :
result . meanings
=> [ ... ]
Chaque signification a une langue et un texte :
meaning . text
=> "Een drank bekomen door infusie van de bonen van de koffieplant in heet water."
meaning . language
=> "nl"
Aucun de ces champs n’est garanti. Bien qu'ils renverront une chaîne ou nil
pour les champs de valeur, et renverront toujours un tableau vide pour les champs de collection.
La journalisation est par défaut nil
, mais peut être transmis à n'importe quel objet Logger
pour déboguer les requêtes réseau.
Glosbe . logger = Logger . new ( "glosbe.log" )
Glosbe . logger = Rails . logger
Après avoir extrait le dépôt, exécutez bin/setup
pour installer les dépendances. Ensuite, exécutez rake spec
pour exécuter les tests. Vous pouvez également exécuter bin/console
pour une invite interactive qui vous permettra d'expérimenter.
Pour installer cette gemme sur votre machine locale, exécutez bundle exec rake install
.
Les rapports de bogues et les demandes d'extraction sont les bienvenus sur GitHub à l'adresse https://github.com/kmcphillips/glosbe-translate.
Viens me parler de ce sur quoi tu travailles. J'aimerais consulter les PR si vous trouvez des bugs ou pensez à des améliorations.
La gemme est disponible en open source selon les termes de la licence MIT.