(Untitled)
Gue bikin tool Python sederhana buat translate subtitle SRT dari bahasa apapun ke Indo gaul ala drama Korea/series. Pake Google Translate API (gratis via googletrans), jadi natural & kekinian.
Cara pake:
from googletrans import Translator
import pysrt
import sys
import re
def translate_to_gaul(text):
translator = Translator()
# Skip kalau udah Indo atau kosong
if not text.strip() or re.match(r'^[a-zA-Z\s]+$', text.strip()):
return text
# Translate ke Indo dulu
try:
translated = translator.translate(text, src='auto', dest='id').text
except:
return text
# Gaul-ify: tambahin slang Indo kekinian
gaul_map = {
'saya': 'gue',
'kamu': 'lu',
'dia': 'dia',
'aku': 'gue',
'anda': 'lu',
'mau': 'mau',
'ingin': 'pengen',
'tidak': 'gak',
'sangat': 'banget',
'sedang': 'lagi',
'akan': 'mau',
'sudah': 'udah',
'belum': 'blm',
'mengapa': 'kenapa',
'bagaimana': 'gimana',
'di mana': 'dimana',
'kapan': 'kapan',
'siapa': 'siapa',
'apa': 'apa',
'cinta': 'sayang',
'kasih sayang': 'cinta',
'terima kasih': 'thx',
'maaf': 'sori',
'oke': 'ok',
'baik': 'oke',
'mantap': 'mantul',
'keren': 'kece',
'cantik': 'cakep',
'ganteng': 'ganteng',
'teman': 'temen',
'rumah': 'kontrakan' if 'lu' in translated else 'rumah',
'mari': 'ayo',
'ayo': 'yuk',
'yuk': 'yuk'
}
# Replace kata-kata gaul
for formal, gaul in gaul_map.items():
translated = re.sub(rf'\b{formal}\b', gaul, translated, flags=re.IGNORECASE)
# Tambah ekspresi drama
if any(word in translated.lower() for word in ['cinta', 'sayang', 'sakit', 'bahagia']):
extras = ['banget', 'nih', 'lo', 'bang', 'sih']
if len(translated.split()) < 5:
translated += f" {random.choice(extras)}"
# Fix tanda baca
translated = re.sub(r'\s([.,!?])', r'\1', translated)
return translated.strip()
import random
# Main
if len(sys.argv) != 3:
print("Cara pake: python srt_translator.py input.srt output.srt")
sys.exit(1)
input_file = sys.argv[1]
output_file = sys.argv[2]
subs = pysrt.open(input_file)
translator = Translator()
print(f"🔥 Translating {len(subs)} subtitles...")
for i, sub in enumerate(subs):
print(f"Progress: {i+1}/{len(subs)}")
# Translate content
sub.text = translate_to_gaul(sub.text)
subs.save(output_file, encoding='utf-8')
print(f"✅ Done! Check {output_file}")Contoh hasil:
[Original] I love you so much!
[Translated] Gue sayang banget lu! 😍Fitur gaul:
- ✅ Auto detect bahasa
- ✅ Indo kekinian (gue/lu/gak/banget/yuk)
- ✅ Tetap natural buat drama
- ✅ Keep timing SRT
- ✅ Handle dialog panjang
Upgrade tips:
- Buat lebih gaul: tambah
gaul_mapsesuai selera - Offline: ganti pake
transformers(HuggingFace) - Batch: drag-drop via GUI pake
tkinter
Test yuk, bro! Kirim SRT lu, gue cek hasilnya. Mantul! 🚀