#google-api #translator #translation

bin+lib google_translator

简单自定义 Google 翻译器

5 个版本

0.2.3 2023 年 6 月 2 日
0.2.2 2022 年 11 月 14 日
0.2.1 2022 年 11 月 13 日
0.2.0 2022 年 11 月 2 日
0.1.0 2022 年 10 月 31 日

5#translator

MIT 许可证

55KB
1K SLoC

简单翻译器

此程序使用 Google 的未公开 API,服务可能在未来某天不可用...

如果翻译效果不佳,您可以根据从 Google 翻译器内部传输的 API 格式更改源代码中的 API。

安装

cargo install google_translator

使用方法

# translate --help
Usage: translate [OPTIONS]

Options:
  -i, --input <INPUT_LANG>         Input language [default: auto]
  -o, --output <OUTPUT_LANG>       Output language [default: en]
  -m, --mode <MODE>                Translator mode, 1 - one line, 2 - file, 3 - Interactive [default: 1]
  -a, --args <ARGS>                Args
  -f, --output file <OUTPUT_FILE>  Output File
  -h, --help                       Print help information

或...

#[tokio::test]
async fn test_translate_multi_lines() {
    let text = vec!["Hello, world!", "내 이름은 민수야.", "나는 20살이야."]
        .iter()
        .map(|x| x.to_string())
        .collect();
    let input_lang = "auto";
    let output_lang = "fr";
    let result = translate(text, input_lang, output_lang).await.unwrap();
    dbg!(result);
    assert!(true);
}

例如

  • translate <Enter> 是控制台输入,单行翻译,控制台输出。
  • translate -i en -o ko -m 3 <Enter> 是交互式控制台输入,多行翻译,控制台输出。
  • translate -m 2 -a foo.txt -f bar.txt <Enter> 是文件输入,多行翻译,控制台输出。

版本

  • 0.2.3 - 更容易的错误处理 (@fruit-bird),修复无效的枚举目标 (@pkptzx)
  • 0.2.2 - 改进了可执行文件的多线程处理,修正了引号错误和枚举目标语言
  • 0.2.1 - 库可用,也结构化
  • 0.2.0 - 三种模态翻译
  • 0.1.0 - 发布 Cargo 和简单翻译器

结束

该项目是基于工作期间使用过的内容开发的玩具项目,可能或可能不会改进,错误纠正。

因为它使用了 Google 的未公开 API,请谨慎使用。

依赖项

~7–20MB
~296K SLoC