Glosbe オンライン多言語辞書のラッパー。言語間で単語を翻訳して定義を取得します。
サポートされている言語の完全なリストをご覧ください。
次の行をアプリケーションの Gemfile に追加します。
gem 'glosbe-translate'
そして、以下を実行します。
$ bundle
または、次のように自分でインストールします。
$ gem install glosbe-translate
すべての翻訳と定義to
2 文字または 3 文字のバージョン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" ]
上記の 3 つの方法のいずれでも、 from: :to
言語のより単純なキーと値のペアを使用することもできます。
Glosbe :: Language . translate ( "fromage" , fr : :en )
=> "cheese"
翻訳と定義はLanguage
オブジェクトから行われます。
language = Glosbe :: Language . new ( from : "eng" , to : "nld" )
記号と文字列が受け入れられ、言語コードは API が期待するものと一致するように変換されます。
このオブジェクトを使用して語句を翻訳および定義するには、同じ 3 つのメソッドを使用できます。
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 OK でしたか?
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"
コンビニエンス メソッドは同じ 3 つの関数を抽出し、上記で繰り返した値を返します。
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 ライセンスの条件に基づいてオープン ソースとして利用できます。