Authors: malandrina, sandbochs
A Ruby wrapper for the WordReference.com Dictionary API
Documentation for the API can be found here: http://www.wordreference.com/docs/api.aspx
Add this line to your application's Gemfile:
gem 'word_reference'
And then execute:
$ bundle
Or install it yourself as:
$ gem install word_reference
Include WordReference module
include WordReference
In order to query the WordReference.com API, you will need an API key. You can get one here: http://www.wordreference.com/docs/APIregistration.aspx
Configure your API key
WordReference.configure do |config|
config.api_key = YOUR_API_KEY
end
Create a new dictionary
A dictionary is referenced by a four-letter code comprising the original language and target language. Note that the WordReference.com API currently supports translations to or from English. If the dictionary does not exist (ex. 'czzh'), the API will return an error message. A list of two-letter language codes is provided below.
french_dictionary = Dictionary.new('enfr')
Change dictionary
french_dictionary.change_language('iten')
# Or create another dictionary
italian_dictionary = Dictionary.new('iten')
Query API with term
Query terms which include special characters should be converted to UTF-8 Base 16. ("más" => "m%C3%A1s")
# Returns a Query object
query = italian_dictionary.query('chiave')
Get query results
# Returns an array of translations
query.results
When #query is called on a dictionary, a collection of translation objects is returned.
Get original search term
translation = query.results.first
translation.search_term => {"term"=>"chiave", "POS"=>"nf", "sense"=>"strumento per aprire", "usage"=>"letterale"}
translation.search_term['term'] => 'chiave'
translation.search_term['POS'] => 'nf' # 'POS' stands for 'Particle of Speech'
translation.search_term['sense'] => 'strumento per aprire'
translation.search_term['usage'] => 'letterale'
Get translations
translation = query.results.first
first = translation.results.first
first => {"term"=>"key", "POS"=>"n", "sense"=>""}
first['term'] => 'key'
first['POS'] => 'n' # noun
first['sense'] => '' # no sense
first['usage'] => nil
git checkout -b my-new-feature
)git commit -am 'Added some feature'
)git push origin my-new-feature
)