5 releases
new 0.1.4 | Oct 30, 2024 |
---|---|
0.1.3 | Jul 8, 2024 |
0.1.2 | Jul 7, 2024 |
0.1.1 | Jul 6, 2024 |
0.1.0 | Jul 6, 2024 |
#319 in Asynchronous
20KB
298 lines
translators
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:
- There are no limits? Yes, I tested the translation of a book exceeding 1 million characters.Everything works.
Features flags
google
- add support google-translatetokio-async
- add support async
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
- Add max concurrency
- Fix request delay handling
- Add general error for translators
- Add text limit in builder
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.
Dependencies
~6–18MB
~252K SLoC