Athspi commited on
Commit
be58d59
·
verified ·
1 Parent(s): 43ee34f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -18
app.py CHANGED
@@ -22,7 +22,7 @@ generation_config = {
22
  }
23
 
24
  model = genai.GenerativeModel(
25
- model_name="gemini-exp-1206", # Updated model name
26
  generation_config=generation_config,
27
  )
28
 
@@ -95,25 +95,14 @@ def format_timestamp(seconds):
95
  milliseconds = int((seconds - int(seconds)) * 1000)
96
  return f"{hours:02}:{minutes:02}:{int(seconds):02},{milliseconds:03}"
97
 
98
- def translate_text(text, target_language):
99
- """Translate text using Gemini."""
100
- prompt = f"Translate the following text into {target_language}:\n\n{text}"
101
- response = model.generate_content(prompt)
102
- return response.text
103
-
104
  def translate_srt(srt_text, target_language):
105
  """Translate an SRT file while preserving timestamps."""
106
- translated_srt = ""
107
- for line in srt_text.split("\n"):
108
- if " --> " in line: # Timestamp line
109
- translated_srt += line + "\n"
110
- elif line.strip().isdigit(): # Subtitle index line
111
- translated_srt += line + "\n"
112
- elif line.strip(): # Text line
113
- translated_srt += translate_text(line, target_language) + "\n"
114
- else: # Empty line
115
- translated_srt += "\n"
116
- return translated_srt
117
 
118
  def process_video(video_file, language="Auto Detect", translate_to=None):
119
  """Process a video file to generate and translate subtitles."""
 
22
  }
23
 
24
  model = genai.GenerativeModel(
25
+ model_name="gemini-2.0-flash-exp",
26
  generation_config=generation_config,
27
  )
28
 
 
95
  milliseconds = int((seconds - int(seconds)) * 1000)
96
  return f"{hours:02}:{minutes:02}:{int(seconds):02},{milliseconds:03}"
97
 
 
 
 
 
 
 
98
  def translate_srt(srt_text, target_language):
99
  """Translate an SRT file while preserving timestamps."""
100
+ # Magic prompt for Gemini
101
+ prompt = f"Translate the following SRT subtitles into {target_language}. Preserve the SRT format (timestamps and structure). Translate only the text after the timestamp. Do not add explanations or extra text.\n\n{srt_text}"
102
+
103
+ # Send the prompt to Gemini
104
+ response = model.generate_content(prompt)
105
+ return response.text
 
 
 
 
 
106
 
107
  def process_video(video_file, language="Auto Detect", translate_to=None):
108
  """Process a video file to generate and translate subtitles."""