deeplx 0.1.8

A Rust package for unlimited DeepL translation
Documentation

Features

  • Proxy support by default (can be disabled via features).
  • Optional impersonation using the impersonate feature to mimic browser settings.

Installation

Add deeplx to your Cargo.toml:

[dependencies]
deeplx = "0.1"

By default, deeplx includes proxy support. If you do not need proxy support, disable the default features:

[dependencies]
deeplx = { version = "0.1", default-features = false }

If you want to enable the impersonate feature to mimic browser headers, TLS settings, etc.:

[dependencies]
deeplx = { version = "0.1", features = ["impersonate"] }

Configuration

deeplx is configured via the Config struct. You can specify options such as proxy, timeout, and more. For example:

use deeplx::{Config, DeepLX};

let translator = DeepLX::new(Config {
proxy: Some("http://pro.xy".to_string()),
..Default::default ()
});

If you have disabled the proxy feature, you can simply omit the proxy field:

use deeplx::{Config, DeepLX};

let translator = DeepLX::new(Config::default ());

Usage

Below is an example using tokio for async execution:

use deeplx::{Config, DeepLX};

#[tokio::main]
async fn main() {
    let translator = DeepLX::new(Config {
        proxy: Some("http://pro.xy".to_string()),
        ..Default::default()
    });
    // Or without proxy:
    // let translator = DeepLX::new(Config::default());

    match translator.translate("auto", "zh", "Hello, world!", None, None).await {
        Ok(res) => println!("Translated: {}", res.data),
        Err(e) => eprintln!("Error: {}", e),
    }
}

License

Distributed under the MIT License. See LICENSE for more information.