Glosbe 在线多语言词典的包装。翻译并获取不同语言之间的单词定义。
查看支持的语言的完整列表。
将此行添加到应用程序的 Gemfile 中:
gem 'glosbe-translate'
然后执行:
$ bundle
或者自己安装:
$ gem install glosbe-translate
所有翻译和定义to
采用两个或三个字符版本from
ISO-639 语言代码。 Glosbe 支持多种语言。
语言对象上的类方法允许您进行单次查找:
Glosbe :: Language . translate ( "please" , from : :en , to : :nl )
=> "alstublieft"
获取from
语言中的定义数组:
Glosbe :: Language . define ( "pineapple" , from : :en , to : :fr )
=> [ "fruit" ,
"Large sweet fleshy tropical fruit with a terminal tuft of stiff leaves." ,
"plant" ]
获取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" ]
上述三种方法中的任何一种都可以使用更简单的键值对from: :to
语言:
Glosbe :: Language . translate ( "fromage" , fr : :en )
=> "cheese"
翻译和定义是从Language
对象完成的:
language = Glosbe :: Language . new ( from : "eng" , to : "nld" )
接受符号和字符串,并且语言代码将被转换以匹配 API 的预期。
使用此对象可以使用相同的三种方法来翻译和定义短语:
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" ]
进行查找将返回一个Response
对象:
response = language . lookup ( "coffee" )
响应以非常相似的结构表示从 API 返回的所有字段。
HTTP 200 正常吗?
response.success?
=> true
有返回结果吗?
response.found?
=> true
为了方便起见,直接映射响应中的字段:
response . from
=> "en"
response . to
=> "nl"
response . phrase
=> "coffee"
有时可能会从服务器返回一条消息。这对于速率限制警告特别有趣:
response . message
=> "Too many queries, your IP has been blocked"
便捷方法提取上面重复的相同的三个函数并返回值:
response . translation
response . define
response . translated_define
与 API 结构相匹配的原始结果可在此处获取。
所有结果的列表可从响应中获得:
response . results
=> [ ... ]
每个结果对象都有翻译的短语(如果存在);
result . phrase
=> "koffie"
然后结果列出了其作者:
result . authors
=> [ ... ]
及其含义:
result . meanings
=> [ ... ]
每个含义都有语言和文本:
meaning . text
=> "Een drank bekomen door infusie van de bonen van de koffieplant in heet water."
meaning . language
=> "nl"
这些字段都不保证存在。尽管它们将为值字段返回字符串或nil
,并且始终为集合字段返回空数组。
日志记录默认为nil
,但可以传递任何Logger
对象来调试网络请求。
Glosbe . logger = Logger . new ( "glosbe.log" )
Glosbe . logger = Rails . logger
查看存储库后,运行bin/setup
以安装依赖项。然后,运行rake spec
来运行测试。您还可以运行bin/console
以获得交互式提示,以便您进行实验。
要将此 gem 安装到本地计算机上,请运行bundle exec rake install
。
欢迎在 GitHub 上提交错误报告和拉取请求:https://github.com/kmcphillips/glosbe-translate。
来跟我谈谈你正在做什么。如果您发现错误或考虑改进,我很乐意查看 PR。
该 gem 根据 MIT 许可证条款作为开源提供。