当前位置: 首页 > news >正文

机器翻译编程

这个机器翻译程序的主要功能和使用说明:

  1. 功能特点:

    • 支持多种语言之间的互译
    • 能够自动检测源语言
    • 可以列出所有支持的语言及其代码
    • 提供简单的命令行交互界面
  2. 使用前需要安装依赖库:

pip install googletrans==4.0.0-rc1
  1. 使用方法:

    • 运行程序后,根据菜单选择操作
    • 选择 1 可以查看所有支持的语言
    • 选择 2 可以进行翻译,输入要翻译的文本和目标语言代码
    • 选择 3 退出程序
  2. 注意事项:

    • 该程序使用的是 Google 翻译的非官方 API,可能会受到使用限制
    • 网络连接是必须的,因为翻译是通过网络进行的
    • 对于非常长的文本,可能需要分段翻译
  3. from googletrans import Translator, LANGUAGES

    class MachineTranslator:
    def __init__(self):
    self.translator = Translator()
    self.supported_languages = LANGUAGES

    def list_languages(self):
    """列出所有支持的语言及其代码"""
    print("支持的语言列表:")
    for code, name in self.supported_languages.items():
    print(f"{code}: {name}")

    def detect_language(self, text):
    """检测文本的语言"""
    try:
    detection = self.translator.detect(text)
    lang_name = self.supported_languages.get(detection.lang, "未知语言")
    return detection.lang, lang_name, detection.confidence
    except Exception as e:
    print(f"语言检测出错: {str(e)}")
    return None, None, None

    def translate(self, text, src='auto', dest='en'):
    """翻译文本
    src: 源语言代码,'auto'表示自动检测
    dest: 目标语言代码
    """
    try:
    # 检查语言代码是否有效
    if src != 'auto' and src not in self.supported_languages:
    raise ValueError(f"不支持的源语言代码: {src}")
    if dest not in self.supported_languages:
    raise ValueError(f"不支持的目标语言代码: {dest}")

    translation = self.translator.translate(text, src=src, dest=dest)
    return {
    'original': text,
    'translated': translation.text,
    'src_lang': translation.src,
    'src_lang_name': self.supported_languages.get(translation.src, "未知语言"),
    'dest_lang': translation.dest,
    'dest_lang_name': self.supported_languages.get(translation.dest, "未知语言")
    }
    except Exception as e:
    print(f"翻译出错: {str(e)}")
    return None

    def main():
    translator = MachineTranslator()

    print("简易机器翻译工具")
    print("1. 列出支持的语言")
    print("2. 翻译文本")
    print("3. 退出")

    while True:
    choice = input("\n请选择操作 (1/2/3): ")

    if choice == '1':
    translator.list_languages()

    elif choice == '2':
    text = input("请输入要翻译的文本: ")
    dest_lang = input("请输入目标语言代码 (默认: en 英语): ") or 'en'

    print("\n正在翻译...")
    result = translator.translate(text, dest=dest_lang)

    if result:
    print(f"\n原文 ({result['src_lang_name']}): {result['original']}")
    print(f"译文 ({result['dest_lang_name']}): {result['translated']}")

    elif choice == '3':
    print("感谢使用,再见!")
    break

    else:
    print("无效的选择,请重试")

    if __name__ == "__main__":
    main()

 

 

    http://www.dtcms.com/a/295528.html

    相关文章:

  1. Unity是如何把3D场景显示到屏幕上的——Unity的渲染过程
  2. 实战演练—基于Transformers的NLP解决方案总结
  3. Python实现PDF按页分割:灵活拆分文档的技术指南
  4. 【Rust线程】Rust高并发编程之线程原理解析与应用实战
  5. K8s WebUI 选型:国外 Rancher vs 国内 KubeSphere vs 原生 Dashboard,从部署到使用心得谁更适合企业级场景?
  6. 【REACT18.x】CRA+TS+ANTD5.X封装自定义的hooks复用业务功能
  7. 初识opencv03——图像预处理2
  8. C++vector(2)
  9. TreeMap一致性哈希环设计与实现 —— 高可用的数据分布引擎
  10. 【RAG优化】RAG应用中图文表格混合内容的终极检索与生成策略
  11. 【AI】Jupyterlab中打开文件夹的方式
  12. 元宇宙工厂网页新形态:3D场景嵌入与WebGL交互的轻量化实现
  13. MySQL 表的操作
  14. 奇异值分解(Singular Value Decomposition, SVD)
  15. 武汉火影数字|数字党建展厅制作 VR红色数字纪念馆 党史馆数字化打造
  16. Windows 10 远程桌面(RDP)防暴力破解脚本
  17. Linux内核中动态内存分配函数解析
  18. 滑动窗口机制及其应用
  19. 云渲染的算力困局与架构重构:一场正在发生的生产力革命
  20. Apache POI 实战应用:企业级文档处理解决方案
  21. 5.7 input子系统
  22. uboot FPGA调试环境搭建
  23. C++ <多态>详解:从概念到底层实现
  24. 不同头会关注输入序列中不同的部分和不同维度所蕴含的信息,这里的头和嵌入维度不是对应的,仅仅是概念上的吗?
  25. 在Ubuntu上使用QEMU学习RISC-V程序(1)起步第一个程序
  26. 负载均衡-LoadBalance
  27. YOLOv4深度解析:革命性的实时目标检测技术
  28. 基于Zig语言,opencv相关的c++程序静态交叉编译
  29. USRP X440
  30. Vulnhub Web-Machine-N7靶机攻略(附VB安装教程)