Bikin Translator SRT ke Bahasa Indonesia Gaul buat Drama

Bikin Translator SRT ke Bahasa Indonesia Gaul buat Drama

Catatan bikin translator SRT ke Indo gaul pakai Python. Ada versi googletrans, lalu upgrade ke Gemini biar hasilnya lebih natural.

Kenapa gue bikin ini

Awalnya simpel: pengen ada tool yang bisa nerjemahin subtitle SRT dari bahasa apa aja ke bahasa Indonesia yang lebih santai. Bukan Indo formal yang kaku, tapi yang enak buat drama, series, atau tontonan yang dialognya cepat dan emosional.

Jadi bukan cuma translate, tapi sekalian dibikin gaul dikit. Misalnya kata-kata kayak gue, lu, gak, banget, sih, biar hasilnya lebih hidup.

Versi awal: pakai googletrans

Gue mulai dari yang paling gampang dulu. Pakai googletrans dan pysrt buat baca file SRT, translate isi subtitle, lalu simpan lagi tanpa ngubah timing.

Install dependensinya:

pip install googletrans==4.0.0rc1 pysrt

Jalannya juga simpel:

python srt_translator.py input.srt output.srt

Ide dasarnya:

  • Parse file SRT
  • Translate teks subtitle satu per satu
  • Ganti kata formal ke versi gaul
  • Simpan lagi ke file output

Contoh logika sederhananya, kira-kira begini:

from googletrans import Translator
import pysrt
import sys
import re
import random

def translate_to_gaul(text):
    translator = Translator()

    if not text.strip():
        return text

    try:
        translated = translator.translate(text, src='auto', dest='id').text
    except:
        return text

    gaul_map = {
        'saya': 'gue',
        'kamu': 'lu',
        'tidak': 'gak',
        'sangat': 'banget',
        'sedang': 'lagi',
        'ingin': 'pengen',
        'maaf': 'sori',
        'oke': 'ok'
    }

    for formal, gaul in gaul_map.items():
        translated = re.sub(rf'\b{formal}\b', gaul, translated, flags=re.IGNORECASE)

    return translated.strip()

Masalah yang gue temuin

Di atas kertas sih enak. Tapi pas dicoba, hasilnya kadang masih kaku. Beberapa masalah yang muncul:

  • Terjemahan Google kadang terlalu literal
  • Kalimat drama jadi kurang natural
  • Bahasa gaulnya terasa dipaksa kalau cuma replace kata
  • Kalau sumbernya udah campur-campur, hasilnya makin random

Jadi kalau targetnya subtitle drama yang enak ditonton, versi ini lumayan buat awal, tapi belum cukup halus.

Solusi: upgrade ke Gemini

Abis itu gue pindah ke Gemini API biar hasil translate lebih ngerti konteks. Ini jauh lebih cocok buat subtitle drama karena modelnya bisa nangkep nuansa kalimat, bukan cuma ganti kata doang.

Install dulu:

pip install pysrt google-generativeai

Lalu tinggal siapin API key dan pakai prompt yang ngarahin output ke bahasa Indonesia gaul.

import google.generativeai as genai
import pysrt
import sys
import os
import re

GEMINI_API_KEY = "PASTE_API_KEY_LU_DISINI"
genai.configure(api_key=GEMINI_API_KEY)
model = genai.GenerativeModel('gemini-pro')

def translate_to_gaul_srt(text: str) -> str:
    if not text.strip() or len(text.strip()) < 2:
        return text

    prompt = f"""
Translate ke bahasa Indonesia gaul kekinian ala drama Korea/series Netflix.
Natural, santai, Gen Z style.

Text: \"{text}\"
"""

    try:
        response = model.generate_content(prompt)
        translated = response.text.strip()
        translated = re.sub(r'^["\']|["\']$', '', translated)
        return translated
    except Exception:
        return text

Kalau mau jalanin file-nya:

python srt_gemini_gaul.py input.srt output.srt

Kenapa Gemini lebih enak buat kasus ini

  • Lebih paham konteks dialog
  • Hasilnya lebih natural buat drama
  • Bisa nerjemahin multi bahasa
  • Prompt-nya bisa diutak-atik sesuai selera gaya bahasa

Contoh hasil yang lebih masuk akal:

[ENG] Why are you crying?
[GAUL] Lu kenapa nangis sih?
[KOR] 사랑해요
[GAUL] Gue sayang lu banget
[SPA] ¡Te extraño!
[GAUL] Kangen banget nih lu

Catatan pribadi

Kalau gue disuruh pilih, buat eksperimen cepat googletrans masih oke. Tapi kalau pengen hasil yang bener-bener enak dibaca dan gak terlalu robot, Gemini jauh lebih nyaman.

Yang paling penting justru prompt-nya. Kalau prompt-nya jelas, model bakal lebih nurut soal tone. Jadi jangan cuma minta translate, tapi kasih arahan gaya bahasa yang lu mau.

Kalau mau lanjut ngoprek

  1. Tambah daftar slang sendiri di prompt
  2. Kasih aturan supaya jangan terlalu lebay
  3. Tambahin GUI kecil pakai tkinter
  4. Bikin mode batch buat banyak file SRT sekaligus

Intinya, ini enak banget buat jadi tool pribadi. Bukan yang super formal, tapi cukup buat bantu nonton subtitle yang lebih hidup.

Kalau lu mau, gue juga bisa bantu bikin versi yang lebih rapi: misalnya ada auto detect bahasa, opsi gaya gaul, atau mode aman biar subtitle gak terlalu norak.

Tags: Catatan Teknis, Python, Subtitle, SRT, Gemini, Google Translate