Update app.py
Browse files
app.py
CHANGED
|
@@ -815,45 +815,18 @@ async def generate_subtitle(
|
|
| 815 |
# 2. Traduzir com Gemini
|
| 816 |
log(f"🧠 [Fase 2] Enviando para Gemini ({requested_model}) para tradução PT-BR...")
|
| 817 |
|
| 818 |
-
prompt = f"""
|
| 819 |
|
| 820 |
-
|
| 821 |
-
|
| 822 |
-
|
| 823 |
-
|
| 824 |
-
|
| 825 |
-
|
| 826 |
-
2. Formatação de Linhas (Padrão Netflix):
|
| 827 |
-
- Limite: Máximo de 2 linhas por bloco.
|
| 828 |
-
- Quebra de Linha: Quebre apenas após pontuação ou antes de conjunções/preposições.
|
| 829 |
-
- Integridade Semântica: Nunca separe artigo de substantivo ou nome de sobrenome em linhas diferentes.
|
| 830 |
-
- Distribuição (Bottom-Heavy): Prefira que a segunda linha seja mais longa que a primeira.
|
| 831 |
-
|
| 832 |
-
Exemplo correto:
|
| 833 |
-
Eu poderia ser
|
| 834 |
-
a primeira dama desta igreja.
|
| 835 |
-
|
| 836 |
-
3. Pontuação e Símbolos:
|
| 837 |
-
|
| 838 |
-
- Diálogos: Use hífen (-) sem espaço para indicar falas de pessoas diferentes no mesmo bloco. Nunca use aspas para diálogos.
|
| 839 |
-
- Hesitação: Use reticências (...) apenas para pausas reais ou gagueira. Não as use apenas para indicar que a frase continua no próximo bloco, a menos que haja uma pausa dramática.
|
| 840 |
-
|
| 841 |
-
4. Restrições Técnicas (Obrigatório):
|
| 842 |
-
- Timestamps: Não altere nenhum milissegundo. Mantenha a estrutura
|
| 843 |
-
|
| 844 |
-
[número]
|
| 845 |
-
[timestamp]
|
| 846 |
-
[texto]
|
| 847 |
-
|
| 848 |
-
intacta.
|
| 849 |
-
|
| 850 |
-
- Output: Retorne apenas o conteúdo do arquivo SRT traduzido. Não inclua saudações, explicações ou texto adicional antes ou depois da legenda.
|
| 851 |
-
|
| 852 |
-
LEGENDA ORIGINAL:
|
| 853 |
|
|
|
|
| 854 |
{srt_base}
|
| 855 |
-
|
| 856 |
-
Deve retornar apenas o SRT já pronto."""
|
| 857 |
|
| 858 |
# Helper function for retry logic
|
| 859 |
async def ask_with_retry(chatbot, prompt):
|
|
|
|
| 815 |
# 2. Traduzir com Gemini
|
| 816 |
log(f"🧠 [Fase 2] Enviando para Gemini ({requested_model}) para tradução PT-BR...")
|
| 817 |
|
| 818 |
+
prompt = f"""Task: Translate the following SRT subtitles to Brazilian Portuguese (PT-BR).
|
| 819 |
|
| 820 |
+
CRITICAL RULES:
|
| 821 |
+
1. **TIMESTAMPS**: Do NOT touch the timestamps. Keep them exactly as they are.
|
| 822 |
+
2. **FORMATTING**: Do NOT change the line breaks or the number of lines. Keep the exact visual structure of the original SRT.
|
| 823 |
+
3. **CONTEXT**: Translate naturally for a Brazilian audience.
|
| 824 |
+
4. **PUNCTUATION**: Adjust punctuation to fit the context best (add question marks, exclamation marks, or periods where semantically appropriate).
|
| 825 |
+
5. **OUTPUT**: Return ONLY the translated SRT content. No extra text.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 826 |
|
| 827 |
+
ORIGINAL SRT:
|
| 828 |
{srt_base}
|
| 829 |
+
"""
|
|
|
|
| 830 |
|
| 831 |
# Helper function for retry logic
|
| 832 |
async def ask_with_retry(chatbot, prompt):
|