Spaces:
Runtime error
Runtime error
import gradio as gr | |
from github_utils import clone_repo, push_translated_files, clean_local_repo | |
from markdown_utils import parse_markdown_files, extract_translatable_text, save_translated_files | |
from translation_utils import translate_content | |
def translate(repo_url, target_language): | |
try: | |
# 1. استيراد الملفات من GitHub | |
files = clone_repo(repo_url) | |
# 2. تقسيم النصوص إلى توكنات | |
parsed_files = parse_markdown_files(files) | |
# 3. الترجمة باستخدام نموذج اللغة | |
translated_files = [] | |
for file in parsed_files: | |
translatable_texts = extract_translatable_text(file['content']) | |
translated_content = translate_content(translatable_texts, target_language) | |
translated_files.append({'filename': file['filename'], 'content': translated_content}) | |
# 4. تجميع النصوص المترجمة | |
save_translated_files(translated_files) | |
# 5. رفع الملفات المترجمة إلى GitHub | |
push_translated_files('cloned_repo') | |
# 6. مسح الملفات المحلية | |
clean_local_repo() | |
return 'Translation completed and files pushed to GitHub' | |
except Exception as e: | |
return str(e) | |
# إنشاء واجهة Gradio | |
iface = gr.Interface( | |
fn=translate, | |
inputs=[gr.Textbox(label="GitHub Repo URL"), gr.Textbox(label="Target Language")], | |
outputs="text", | |
title="Markdown Translator", | |
description="Translate Markdown files from a GitHub repository to a target language." | |
) | |
if __name__ == "__main__": | |
iface.launch() | |