שיתוף | קוד פייתון לתרגום סטרינגים מסויימים מתוך קובץ עם תבנית קבועה (כמו קבצי שפה של תוכנות)
-
הייתי צריך לתרגם איזה תוכנה סינית, וכתבתי את הסקריפט הבסיסי הזה, אני מעלה כאן, אולי זה יהיה שימושי למישהו, הפונקציה מקבלת קובץ טקסט ומפרקת אותו שורה אחרי שורה, וכותבת כל שורה לקובץ חדש באותו מבנה וסדר, במקרה של שגיאה בתרגום תיכתב השורה המקורית.
שימו לב שזה מצריך התאמה ספציפית למחרוזת שלכם, בשורות 24-28
ניתן לראות בשורה הראשונה, את החבילה שיש להתקין, ובשורה השניה את המבנה של השורה הנוכחי# pip install googletrans==4.0.0-rc1 # line: <item name="Min" value="Minimom"/> - value = Minimom from googletrans import Translator import re def translate_text(text): try: translator = Translator() translation = translator.translate(text, src='en', dest='he') translated_text = translation.text print(f'Translation success: {text} - {translated_text}') except Exception as e: print(f"Translation error: {e}") translated_text = text return translated_text def extract_and_translate(input_file, output_file): with open(input_file, 'r', encoding='utf-8') as f: lines = f.readlines() with open(output_file, 'w', encoding='utf-8') as f: for line in lines: match = re.search(r'value="(.*?)"', line) if match: value = match.group(1) translated_value = translate_text(value) line = re.sub(r'value="(.*?)"', f'value="{translated_value}"', line) f.write(line) if __name__ == "__main__": input_file = 'input.txt' output_file = 'output.txt' extract_and_translate(input_file, output_file) print("Translation complete. Check the output file.")