#localization #translation

lingual

Free and Unlimited Language Translation (Google) API for Rust. Supports Async and Sync.

9 stable releases

1.1.0 Jan 27, 2024
1.0.7 Aug 24, 2023
1.0.1 Jul 10, 2023
0.0.0 Jul 6, 2023

#112 in Internationalization (i18n)

MIT and maybe AGPL-3.0

28KB
719 lines

Lingual

Provides google translation api for Rust.

Example

The crate uses reqwest to make http calls and by default uses async/await syntax. Support for wasm is included and will be enabled implicitly if when the target_arch is wasm32.

use lingual::{translate, Langs, Translator}
let translator = Translator::default();
let translation = translator.translate("Hello World", Lang::Auto, Langs::Es).await.unwrap();
assert_eq!("Hola Mundo", translation.text());

If you prefer to use regular sync version, simply include blocking feature in your Cargo.toml file. It will be the same code as above with the exception of await keyword.

lingual = {version = "...", features = ["blocking"]}

Features

  • blocking - uses blocking/sync api for fetching the translations.

Roadmap

  • Support for async/await syntax
  • Support for blocking api
  • Support for wasm
  • [] Support for DeepL api (Will be worked on later)
    • [] blocking
    • [] async/await

Dependencies

~6–22MB
~281K SLoC