import gradio as gr from modules.data import data_converter from modules.exif import clexif from modules.gif import video2gif from modules.github import github_release_creator from modules.qr import qrcode from modules.rct import rct_generator from modules.smtp import smtp_tester from modules.trans import translator from modules.url import url_shortner from modules.tools import webtools from utils import EN_US ZH2EN = { "# 在线工具合集": "# Online Tools Collection", "数据文件转换": "Data Converter", "图片 EXIF 清理": "Image EXIF Cleaner", "视频转 GIF 动图": "Video to GIF", "GitHub 发布工具": "GitHub Releaser", "二维码生成": "QR Code", "随机对照试验生成": "RCT Generator", "SMTP 测试": "SMTP Test", "翻译器": "Translator", "短链接生成": "URL Shortner", "在线编程辅助工具": "Web Tools", } def _L(zh_txt: str): return ZH2EN[zh_txt] if EN_US else zh_txt if __name__ == "__main__": with gr.Blocks() as demo: gr.Markdown(_L("# 在线工具合集")) with gr.Tab(_L("数据文件转换")): data_converter() with gr.Tab(_L("图片 EXIF 清理")): clexif() with gr.Tab(_L("视频转 GIF 动图")): video2gif() with gr.Tab(_L("GitHub 发布工具")): github_release_creator() with gr.Tab(_L("二维码生成")): qrcode() with gr.Tab(_L("随机对照试验生成")): rct_generator() with gr.Tab(_L("SMTP 测试")): smtp_tester() with gr.Tab(_L("翻译器")): translator() with gr.Tab(_L("短链接生成")): url_shortner() with gr.Tab(_L("在线编程辅助工具")): webtools() demo.launch()