charl1e7 / rust-translators

Free Google Translator, Deepl without API key and limits.
MIT License
6 stars 0 forks source link

translators Crates.io License

translators is a fast async/sync, thread-safe library for Google Translator with no API key and no limits. It also includes support for proxy.

Questions:

Features flags

Examples

1. Async example

use translators::{GoogleTranslator, Translator};

#[tokio::main]
async fn main() {
    let google_trans = GoogleTranslator::default();
    let res = google_trans
        .translate_async("Hello, world!", "", "es")
        .await
        .unwrap();
    println!("{res}");
}

Add to the dependency:

[dependencies]
translators = { version = "0.1.4", features = ["google", "tokio-async"] }
tokio = { version = "x", features = ["rt-multi-thread", "macros"] }

2. Sync example

use translators::{GoogleTranslator, Translator};

fn main() {
    let google_trans = GoogleTranslator::default();
    let res = google_trans
        .translate_sync("Hello, world!", "", "es")
        .unwrap();
    println!("{res}");
}

Add to the dependency:

[dependencies]
translators = { version = "0.1.4", features = ["google"] }

3. Custom config

// delete any line if you don't need it
let google_trans = GoogleTranslator::builder()
    // How long to wait for a request in sec
    .timeout(35 as usize) 
    // delay between requests if the limit is exceeded
    .delay(120 as usize) 
    // shows how many requests can be handled concurrently
    // work only with async 
    .max_concurrency(2 as usize)
    // proxy
    .proxy_address("http://user:password@0.0.0.0:80")
    /// limits on the maximum number of chars
    /// set if the translator has changed their limits.
    .text_limit(5000)
    .build();

What's New in Version 0.1.4

Additional Information

For more details, guides, and advanced usage, please refer to the examples and official documentation.

Disclaimer

The translators library is provided for educational and research purposes only.

The library is distributed "as-is" with no warranties of any kind, express or implied. The author disclaims any liability for damages arising from the use of this library, including data loss or financial loss. Usage of this library is at your own risk, and the author does not receive any financial benefit from its use.

Users are responsible for complying with third-party terms of service, including those of Google Translator or any other translation service provider.