当前位置: 首页 > 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.lryc.cn/news/598510.html

    相关文章:

  1. Web前端:JavaScript some()迭代方法
  2. Centos新增磁盘,进行根目录扩容
  3. Redis数据库入门教程
  4. 深入UniApp X:掌握复杂列表与全局状态管理的艺术
  5. J2EE模式---组合实体模式
  6. mujoco playground
  7. Android Activity与Fragment生命周期变化
  8. iOS 抓包工具有哪些?按能力划分的实用推荐与使用心得
  9. list 介绍 及 底层
  10. 在线工具+网页平台来学习和操作Python与Excel相关技能
  11. 无广告终端安全产品推荐:打造纯净办公环境的安全之选
  12. 网络安全入门第一课:信息收集实战手册(2)
  13. 计算机网络知识点总结 (2)
  14. OSS存储视频播放报错问题排查与解决
  15. 洛谷 P1996 约瑟夫问题之题解
  16. imx6ull-系统移植篇21——Linux 内核移植(下)
  17. 红队视角:实战渗透测试中漏洞利用的进阶技巧与防御
  18. 回调后门 函数
  19. 【科研绘图系列】R语言绘制双侧坐标轴的条形图
  20. 极客大挑战2019-HTTP
  21. Access开发一键删除Excel指定工作表
  22. 结合实战项目分析locust
  23. 虚拟机导入导出ova文件
  24. 碳油 PCB 技术解析:高精度制造与多场景应用实践
  25. 重生学AI第二十集(大结局):完善模型以及学习总结
  26. 大疆无人机炸机后视频损坏的完美修复案例解析
  27. C语言:详解文件操作
  28. 双紫擒龙紫紫红黄安装使用攻略,2025通达信指标源码,擒龙追踪源码公式学习
  29. 树莓派5与Zero 2 W全面解析:选型指南与入门攻略
  30. IPv6网络优化