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

机器翻译编程

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

  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.xdnf.cn/news/16189.html

    相关文章:

  1. 【安卓笔记】解决livedata粘性事件
  2. 在 Alpine Linux 中创建虚拟机时 Cgroup 挂在失败的现象
  3. Springboot宠物用品商城的设计与实现
  4. 详解力扣高频SQL50题之197. 上升的温度【简单】
  5. 星慈光编程虫2号小车讲解第二篇--向左向右平移
  6. Python编程进阶知识之第五课处理数据(matplotlib)
  7. Unity VS Unreal Engine ,“电影像游戏的时代” 新手如何抉择引擎?(结)
  8. 100条SQL语句分类精讲:从基础到进阶的实操指南
  9. 医疗系统国产化实录:SQL Server国产替代,乙方保命指南
  10. 机器学习的基础知识
  11. 洛谷 P1996 约瑟夫问题之题解
  12. kafka的shell操作
  13. 多源信息融合智能投资【“图神经网络+强化学习“的融合架构】【低配显卡正常运行】
  14. MapStruct类型转换接口未自动注入到spring容器中
  15. 快速将前端得依赖打为tar包(yarn.lock版本)并且推送至nexus私有依赖仓库(笔记)
  16. 《C++》面向对象编程--类(下)
  17. LLM中的位置嵌入矩阵(Position Embedding Matrix)是什么
  18. matrix-breakout-2-morpheus靶机通关教程
  19. DBA常用数据库查询语句
  20. Python爬虫案例:Scrapy+XPath解析当当网网页结构
  21. Lua(模块与包)
  22. 【docker | 部署 】Jetson Orin与AMD平台容器化部署概述
  23. Java 实现 B/S 架构详解:从基础到实战,彻底掌握浏览器/服务器编程
  24. 前端性能新纪元:Rust + WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例)
  25. 【RAG优化】RAG应用中图文表格混合内容的终极检索与生成策略
  26. VUE的学习
  27. iOS WebView 加载失败与缓存刷新问题排查实战指南
  28. 医疗行业新变革:AR 培训系统助力手术培训精准高效​
  29. Oracle国产化替代:一线DBA的技术决策突围战
  30. 华为OpenStack架构学习9篇 连载—— 01 OpenStack架构介绍【附全文阅读】