Fitur

July 18, 2026 · View on GitHub

Spinning fox animation

BallonsTranslator

Sebuah aplikasi penerjemahan komik/manga yang dibantu oleh deep learning.

简体中文 | English | Русский | 日本語 | Español | Français | pt-BR | 한국어 | Indonesia | Tiếng Việt

Fitur

  • Terjemahan otomatis

    • Mendukung pendeteksian, pengenalan, penghapusan, dan penerjemahan teks secara otomatis, performa keseluruhan bergantung pada modul-modul ini.
    • Peletakkan kata-kata berdasarkan perkiraan letak teks aslinya.
    • Mendukung format manga dan komik.
    • Typesetting optimal untuk manga->bahasa Inggris, bahasa Inggris->Mandarin (berdasarkan ekstraksi daerah balon.).
  • Pengeditan gambar

    • Mendukung pengeditan mask & inpainting (seperti alat content aware fill di PS)
    • Mendukung gambar dengan rasio aspek ekstrim seperti webtoon
  • Pengeditan teks

    • Mendukung format rich text dan style teks, teks yang diterjemahkan dapat diedit secara langsung.
    • Mendukung pencarian & penggantian kata
    • Mendukung ekspor/impor ke/dari dokumen word
  • Terjemahan LLM yang peka terhadap konteks

    Riwayat terjemahan

    • Atur LLM Context ke +history agar LLMTranslator melihat contoh dari halaman sebelumnya yang telah selesai. Ini dapat menjaga konsistensi nama, istilah, dan nada. Proses lanjutan dan rentang terpilih juga dapat memakai halaman sebelumnya yang memenuhi syarat.
    • Token budget mengatur jumlah teks terjemahan sebelumnya yang disertakan, dengan prioritas pada halaman yang lebih baru. Halaman saat ini, instruksi, glosarium, dan respons yang dihasilkan membutuhkan ruang tambahan. Nilai defaultnya 4096.
    • Anggaran yang lebih besar memberi lebih banyak konteks cerita dan lebih jarang membuang halaman lama, tetapi mengirim lebih banyak teks dan dapat berjalan lebih lambat. Model lokal juga dapat membutuhkan jauh lebih banyak RAM/VRAM. Nilai default 4096 sengaja dibuat konservatif; penyedia umum dengan jendela konteks besar, seperti DeepSeek, sering dapat memakai batas yang lebih tinggi. Sekitar 70% dari batas konteks model adalah batas atas yang wajar (90000 untuk 128K).
    • Anggaran riwayat juga memengaruhi cache prompt. Selama riwayat bertambah dalam batas anggaran, permintaan berurutan mempertahankan bagian awal yang sama; penyedia seperti OpenAI dan DeepSeek dapat memakainya kembali dengan harga token input yang lebih murah dan terkadang latensi lebih rendah. Ketika anggaran memaksa halaman lama dibuang, bagian awal itu berubah dan penggunaan cache direset. Anggaran lebih besar mengurangi reset, tetapi mengirim lebih banyak riwayat sehingga tidak menjamin biaya total lebih rendah.

    Tabel berikut adalah perkiraan kasar untuk halaman manga menggunakan DeepSeek, dengan harga token input cache sebesar 10% dari token input biasa. Hasil sebenarnya berbeda menurut proyek, model, dan penyedia.

    Token budgetPerkiraan riwayat yang dipertahankan (halaman)Perkiraan biaya total dibanding tanpa riwayat
    20483–41.65×
    40966–91.79×
    819212–192.10×
    1638423–382.66×

    Glosarium yang dapat digunakan kembali

    • Atur Glossary File pada dialog Run ke berkas UTF-8 .json, .txt, atau .tsv. Berkas hanya dibaca dan dapat digunakan kembali di berbagai proyek.

    • Matching hanya mengirim entri yang istilah sumbernya terdapat pada halaman terkait. All mengirim semua entri dan dapat memakai jauh lebih banyak token.

    • Format yang didukung meliputi:

      # Teks bergaya Sakura
      sumber->terjemahan # catatan opsional
      
      # Teks yang dipisahkan tab
      sumber<TAB>terjemahan<TAB>catatan opsional
      
      [
        {"src": "sumber", "dst": "terjemahan", "info": "catatan opsional"}
      ]
      
    • Pencocokan bersifat literal dan tidak membedakan huruf besar-kecil. Entri yang bertentangan, berkas dengan format yang salah, format yang tidak didukung, dan berkas yang tidak ditemukan akan menghentikan terjemahan sebelum permintaan dikirim ke LLM.

    • Konteks halaman sebelumnya dan penyisipan glosarium hanya berlaku untuk LLMTranslator; penerjemah lain mengabaikan pengaturan ini.

Instalasi

Di Windows

Metode A (Penyiapan Lingkungan Lokal Satu-Klik, memerlukan PowerShell): Script akan memasang BallonsTranslator di direktori tempat Anda menjalankannya:

irm https://raw.githubusercontent.com/dmMaze/BallonsTranslator/dev/scripts/install.ps1 | iex

Atau jalankan perintah berikut di Command Prompt klasik (cmd.exe):

powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/dmMaze/BallonsTranslator/dev/scripts/install.ps1 | iex"

Metode B (Unduh Paket Pra-konfigurasi): Unduh Ballonstranslator_win_minium.zip dari GitHub Releases, ekstrak, lalu klik dua kali launch_win.bat untuk meluncurkan aplikasi.

Metode ini tidak mendukung Windows 7; pengguna Windows 7 harus menginstal Python 3.8 secara manual dan menjalankannya dari kode sumber.

Jika Anda melihat error yang melibatkan msvcp140.dll, c10.dll, atau [WinError 1114], instal atau perbarui Microsoft Visual C++ Redistributable x64 (Visual Studio 2015-2022; catatan unduhan resmi).

macOS / Linux

Script akan memasang BallonsTranslator di direktori tempat Anda menjalankannya:

curl -fLO https://raw.githubusercontent.com/dmMaze/BallonsTranslator/dev/scripts/install.sh && chmod +x install.sh && ./install.sh

Jika curl tidak tersedia, unduh script dengan wget -O ... sebagai gantinya. Aplikasi akan berjalan otomatis setelah instalasi; selanjutnya gunakan cd BallonsTranslator && ./launch.sh untuk memulainya lagi.

Aplikasi memeriksa dependensi inti saat startup. Saat Anda memilih modul yang memerlukan pustaka tambahan, aplikasi akan meminta Anda memasang dependensi opsional yang hilang (Anda juga dapat mengaktifkan pemasangan otomatis di pengaturan).

Penggunaan

Disarankan untuk menjalankan program di terminal jika program ini crash dan tidak meninggalkan informasi, lihat gif berikut ini

  • Pilih penerjemah yang diinginkan dan atur sumber dan target bahasa.
  • Buka folder yang berisi gambar manga/manhua/webtoon yang ingin diterjemahkan.
  • Klik tombol "Run" dan tunggu hingga proses selesai.

Format font seperti ukuran font dan warna ditentukan oleh program secara otomatis dalam proses ini, Anda dapat menentukan format tersebut sebelum memulai proses dengan mengubah opsi yang sesuai dari "decide by program" menjadi "use global setting" di panel konfigurasi->Lettering. (pengaturan global adalah format yang ditampilkan oleh panel format font yang tepat ketika Anda tidak mengedit blok teks apa pun di adegan)

Image editing

inpaint tool

Mode pengeditan gambar, alat inpainting

rect tool

Alat rect

Untuk 'menghapus' hasil inpainting yang tidak diinginkan, gunakan alat inpainting atau alat rect dengan menekan tombol kanan.
Hasilnya tergantung pada seberapa akurat algoritme ("metode 1" dan "metode 2" dalam gif) mengekstrak mask dari teks. Ini berjalan lebih buruk pada teks & latar belakang yang kompleks.

Pengeditan teks

Mode Pengeditan teks

pemformatan kumpulan tata letak teks secara otomatis

pengenalan kata & menerjemahkan area yang dipilih

Shortcuts

  • A/D atau pageUp/Down untuk pindah halaman.
  • Ctrl+Z, Ctrl+Shift+Z untuk undo/redo.(catatan: sejarah undo akan dihapus setelah pindah halaman)
  • T untuk masuk mode text-editting (atau tombol "T" di toolbar bagian bawah). *W untuk masuk mode pembuatan text block, lalu seret mouse dengan diklik tombol kanan pada kanvas untuk menambahkan blok teks baru. (lihat gif pengeditan teks)
  • P untuk mode edit gambar.
  • Di mode edit gambar, gunakan penggeser di bagian kanan bawah untuk mengontrol transparansi gambar asli.
  • Tombol "OCR" dan "A" di toolbar bagian bawah dapat mengaktifkan OCR dan penerjemahan, jika Anda menonaktifkannya, program hanya akan melakukan deteksi dan penghapusan teks.
  • Mengatur parameter modul otomatis di panel konfigurasi.
  • Ctrl++/Ctrl+- untuk mengubah ukuran gambar
  • Ctrl+G/Ctrl+F untuk mencari secara global/dalam halaman saat ini.

Modul otomasi

Proyek ini sangat bergantung pada manga-image-translator, layanan online dan pelatihan model tidaklah murah, mohon pertimbangkan untuk menyumbangkan proyek ini:

Sugoi translator dibuat oleh mingshiba.

Deteksi teks

Deteksi teks bahasa Inggris dan Jepang, kode pelatihan, dan rincian lebih lanjut dapat ditemukan di comic-text-detector

OCR

  • Model pengenalan teks mit_32px berasal dari manga-image-translator, mendukung pengenalan teks bahasa Inggris dan Jepang dan warna teks.
  • Model pengenalan teks mit_48px berasal dari manga-image-translator, mendukung pengenalan teks bahasa Inggris, Jepang, dan Korea serta warna teks.
  • [manga_ocr] (https://github.com/kha-white/manga-ocr) berasal dari [kha-white] (https://github.com/kha-white), pengenalan untuk teks bahasa Jepang, dengan fokus utama manga Jepang.

Inpainting

  • AOT berasal dari manga-image-translator.
  • patchmatch adalah sebuah algoritma dari PyPatchMatch, program ini menggunakan versi dimodifikasi dari saya.

Penerjemah

  • Harap ubah url penerjemah goolge dari *.cn ke *.com jika Anda tidak diblokir oleh GFW. Google mematikan layanan terjemahan di Cina, harap setel 'url' yang sesuai di panel konfigurasi ke *.com.
  • Penerjemah Caiyun perlu memerlukan [token] (https://dashboard.caiyunapp.com/).
  • Papago.
  • DeepL & Sugoi translator (dan konversi CT2 Translation-nya), terima kasih kepada Snowad14.

Untuk menambahkan penerjemah baru, silakan lihat how_to_add_new_translator, caranya mudah, cukup dengan membuat subclass dari BaseClass dan mengimplementasikan dua interface, kemudian Anda bisa menggunakannya di dalam aplikasi, Anda dipersilakan untuk berkontribusi pada proyek ini.

Hal lain

  • Jika komputer Anda memiliki GPU Nvidia, program ini akan mengaktifkan akselerasi cuda untuk semua model secara default dan membutuhkan sekitar 6G memori GPU, Anda dapat menurunkan inpaint_size pada panel konfigurasi untuk menghindari OOM.
  • Terima kasih kepada [bropines] (https://github.com/bropines) untuk lokalisasi bahasa Rusia.
  • Menambahkan saladict (Kamus pop-up dan penerjemah halaman profesional lengkap) di menu mini ketika pilih teks. Panduan instalasi