17 个版本 (6 个重大更新)
0.7.5 | 2022年11月7日 |
---|---|
0.7.4 | 2022年11月7日 |
0.6.0 | 2022年11月5日 |
0.5.2 | 2022年11月5日 |
0.1.0 | 2022年11月4日 |
1 in #trans
在 dd_tran_tool 中使用
160KB
847 代码行(不含注释)
baidu_trans
百度翻译API
安装
[dependencies]
baidu_trans = { version = "0.7.5", features = [] }
anyhow = "1.0.66"
dotenv = "0.15.0"
示例
blocking
功能
use baidu_trans::{blocking::Client, config::Config, lang::Lang};
fn main() -> anyhow::Result<()> {
dotenv::dotenv()?;
let app_id = dotenv::var("APP_ID")?;
let app_secret = dotenv::var("APP_SECRET")?;
let client = Client::new(Config::new(app_id, app_secret));
client.lang(Lang::Auto, Lang::Zh);
let resp = client.translate(
"As we discussed in Chapter 1, Hello Rust!, stack variables are preferred thanks to
their low overhead and speed compared to heap-allocated data, which
automatically introduces overhead thanks to the necessary heap pointer.",
)?;
if resp.error_code.is_some() {
return Err(anyhow::Error::msg(resp.error_msg.unwrap()));
}
dbg!(resp);
Ok(())
}
aio
功能
在 cargo.toml
中
[dependencies]
anyhow = "1.0.66"
baidu_trans = { version = "0.7.5", features = [ "aio"] }
tokio = { version = "1.21.2", features = ["full"] }
dotenv = "0.15.0"
use baidu_trans::{aio::Client, config::Config, lang::Lang};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenv::dotenv()?;
let app_id = dotenv::var("APP_ID")?;
let app_secret = dotenv::var("APP_SECRET")?;
let client = Client::new(Config::new(app_id, app_secret));
client.lang(Lang::Auto, Lang::Zh);
let resp = client
.translate(
"As we discussed in Chapter 1, Hello Rust!, stack variables are preferred thanks to
their low overhead and speed compared to heap-allocated data, which
automatically introduces overhead thanks to the necessary heap pointer.",
)
.await?;
if resp.error_code.is_some() {
return Err(anyhow::Error::msg(resp.error_msg.unwrap()));
}
dbg!(resp);
Ok(())
}
功能
blocking
: 默认特性aio
: 启动async/await
功能支持image
: 启用图片翻译功能domain
: 启用垂直领域翻译功能doc
: 启用文档翻译功能
依赖项
~5–19MB
~298K SLoC