Crate ytr[][src]

ytr

This crate is a Yandex.Translate API wrapper for Rust. It helps to use machine translations in your Rust application. A detailed description of the Yandex.Translate API and its methods is available in the official documentation (in Russian).

Usage

To work with the API you will need an ApiClient instance holding your API key.

ApiClient defines several methods that correspond to API methods. They are called with the required parameters and return a request object, which can then be configured with optional parameters and executed using the get() method.

The execution of the request returns Result<T, ytr::Error>, where T is a response object. If the request was successful, the returned data will be contained in the public fields of the response. Some data is returned only when the optional parameters are set, so the fields for it contain the Option<T>.

Usage example

let key = String::from("my-api-key");
let api = ytr::ApiClient::new(key);

let result = api.translate("Hello!", "ru")   // required parameters
    .format("plain")                         // optional parameter
    .get();                                  // execute the request
 
match result {
    Ok(response) => {
        println!("{}", response.text);       // prints "Привет!"
        println!("{}", response.lang);       // prints "en-ru"
    },
     
    Err(error) => {
        println!(
            "An error has occured: {:?}",
            error
        );
    },
};

Structs

ApiClient

Client to call API methods.

ApiError

API returned error.

DetectRequest

Parameters for detect API method.

DetectResponse

Response from detect API method.

LangsRequest

Parameters for getLangs API method.

LangsResponse

Response from getLangs API method.

TranslateRequest

Parameters for translate API method.

TranslateResponse

Response from translate API method.

Enums

Error

Possible types of errors.

Traits

ApiRequest

Request to be executed.

ApiResponse

API method response.

Type Definitions

Result

Result alias with ytr::Error as the Err variant.