Bali menyang blog

Terjemahan Django kanggo Pengembang Solo: Saka Minggu dadi Menit

2026-02-11 7 menit maca
Terjemahan Django kanggo Pengembang Solo: Saka Minggu dadi Menit

Sampeyan wis gawe app Django. Bisa mlaku, pangguna padha ndaftar, lan saiki sampeyan pengin nggayuh wong-wong sing ora ngomong basa Inggris. Masalahe jelas nalika sampeyan ndeleng: framework internasionalisasi Django pancen apik banget kanggo ngekstrak string sing bisa diterjemahake, nanging ora nindakake apa-apa kanggo ngisi terjemahane. Bagian kuwi tanggung jawab sampeyan.

Yen sampeyan developer tunggal utawa tim loro wong, jarak antarane makemessages lan app sing wis diterjemahake kanthi lengkap bisa krasa gedhe banget. Aku bakal njelasake pilihan-pilihan sing realistis, nerangake kenapa akeh-akehe ora cocok kanggo tim cilik, lan nuduhake alur kerja sing ngowahi terjemahan saka tugas pirang-pirang minggu dadi perintah rong menit.

Pilihan Tradisional (lan Kenapa Nyusahake)

Pilihan 1: Copy-Paste saka Google Translate

Usaha pertama sing paling umum. Sampeyan mbukak file .po, nyalin saben msgid menyang Google Translate, nempel asile minangka msgstr, lan mbaleni. Kanggo saben string. Ing saben basa.

App Django sing biasa duwe 200-500 string sing bisa diterjemahake. Yen sampeyan nerjemahake menyang limang basa, kuwi 1.000-2.500 siklus copy-paste. Sanajan saben siji mung butuh 30 detik, sampeyan ndeleng 8-20 jam kerja sing mboseni. Lan kuwi sadurunge sampeyan ndandani kesalahan format, placeholder sing rusak, lan terminologi sing ora konsisten sing mesthi mlebu.

Luwih elek maneh, sampeyan kudu nindakake maneh ing sprint sabanjure nalika nambah string anyar.

Pilihan 2: Penerjemah Profesional

Terjemahan profesional biasane regane $0.10 nganti $0.25 saben tembung. App Django kanthi 500 string rata-rata 8 tembung saben siji kira-kira 4.000 tembung. Kanthi $0.15/tembung, kuwi $600 saben basa, utawa $3.000 kanggo limang basa.

Kanggo startup sing didanai VC, kuwi mung buledan angka. Kanggo developer tunggal sing ngecas $9/sasi saben pangguna, bisa ngentekake kabeh pendapatan sampeyan sajrone seprapat taun.

Pilihan 3: Fiverr lan Marketplace Freelance

Sampeyan bisa nemokake penerjemah ing Fiverr kanthi rega $20-50 saben basa. Sawetara pancen trampil. Akeh sing mung nempel teks sampeyan ing Google Translate lan ngecas sampeyan kanggo hak istimewa kuwi. Sampeyan entuk kualitas sing padha karo Pilihan 1, ditambah komunikasi bolak-balik tambahan lan seminggu nunggu.

Pilihan 4: Crowdin, Transifex, utawa Weblate

Platform-platform iki kuat, nanging dirancang kanggo proyek kanthi tim terjemahan khusus. Overhead setup (sinkronisasi repositori, konfigurasi memori terjemahan, ngatur akses kontributor) keliwatan nalika sampeyan siji-sijine wong ing proyek. Langganan bulanan diwiwiti saka $30-150/sasi kanggo tingkat berbayar, lan sanajan tingkat gratis mbutuhake sampeyan njaga integrasi pihak ketiga liyane.

Pilihan 5: Tempel Kabeh ing ChatGPT

Iki sejatine bisa mlaku kanthi apik banget kanggo kualitas. Sampeyan nempel isi file .po sampeyan ing ChatGPT utawa Claude, njaluk terjemahan, lan entuk asil sing cukup apik. Masalahe yaiku ora bisa diskala. Sampeyan kudu ngekstrak string sing durung diterjemahake kanthi manual, ngformat prompt, ngurai respon bali menyang format .po, lan nangani batching nalika ngluwihi watesan konteks. Bisa mlaku sepisan. Rusak minangka alur kerja sing bisa dibaleni.

Pendekatan Otomasi

Kepiye yen kabeh langkah terjemahan mung siji perintah? Kuwi ide ing mburi TranslateBot, perintah manajemen Django open-source sing maca file .po sampeyan, ngirim string sing durung diterjemahake menyang penyedia AI, lan nulis terjemahane bali ing format sing bener.

Mangkene carane nyetel.

Langkah 1: Instal TranslateBot

uv add --dev translatebot-django

Utawa nganggo pip:

pip install translatebot-django

Tambahake menyang installed apps sampeyan:

# settings.py
INSTALLED_APPS = [
    # ...
    'translatebot_django',
]

Langkah 2: Konfigurasi Penyedia AI Sampeyan

Tambahake rong setelan:

# settings.py
import os

TRANSLATEBOT_API_KEY = os.getenv("OPENAI_API_KEY")
TRANSLATEBOT_MODEL = "gpt-4o-mini"

TranslateBot bisa mlaku karo OpenAI, Anthropic Claude, Google Gemini, lan 100+ model liyane liwat LiteLLM. Uga ndhukung DeepL minangka backend terjemahan khusus.

Langkah 3: Gawe TRANSLATING.md (Opsional nanging Dianjurake)

File TRANSLATING.md ing root proyek sampeyan menehi konteks marang AI babagan aplikasi sampeyan. Iki sing mbedakake terjemahan mesin umum saka terjemahan sing bener-bener cocog karo produk sampeyan:

# Translation Context

## About This Project
A personal finance tracker for freelancers. Users track invoices,
expenses, and tax obligations.

## Tone
- Friendly and informal
- Use "du" in German, "tu" in French
- Keep financial terms precise

## Terminology
- "invoice" = "Rechnung" (German), "facture" (French)
- "dashboard" = keep as English loanword in all languages
- "freelancer" = keep as English loanword in German

File iki dikirim bebarengan karo saben permintaan terjemahan, dadi AI konsisten nggunakake nada lan terminologi sing bener.

Langkah 4: Terjemahake

python manage.py makemessages -l de -l fr -l nl -l es -l ja
python manage.py translate
python manage.py compilemessages

Telung perintah. Kuwi wae. TranslateBot nemokake kabeh string sing durung diterjemahake ing kabeh file .po sampeyan, nerjemahake kanthi batch, lan nulis asile bali. Mung entri sing kosong sing diterjemahake minangka default, dadi mbukak perintah maneh sawise nambah string anyar mung nerjemahake sing anyar.

Kaya Apa ing Praktik

Iki alur kerja sprint sing realistis kanggo developer tunggal sing ndhukung limang basa:

Senin: Sampeyan gawe fitur anyar. Sampeyan nambah sawetara string sing bisa diterjemahake nggunakake gettext() lan {% trans %} nalika kerja.

from django.utils.translation import gettext_lazy as _

class InvoiceView(View):
    def post(self, request):
        # New string added during development
        messages.success(request, _("Invoice sent successfully."))

Sadurunge commit: Sampeyan mbukak telung perintah:

python manage.py makemessages -a --no-obsolete
python manage.py translate
python manage.py compilemessages

Perintah translate ndeteksi entri anyar sing durung diterjemahake lan mung nerjemahake entri kuwi. Yen sampeyan nambah 5 string anyar lan ndhukung 5 basa, nggawe 25 terjemahan ing siji panggilan API. Kabeh proses butuh kurang saka semenit.

Sampeyan commit kode, template, lan file .po/.mo sing wis dianyari bebarengan. Terjemahan dadi bagian saka alur pengembangan normal sampeyan, dudu proyek terpisah.

Pratinjau Sadurunge Commit

Yen sampeyan pengin ndeleng terjemahan sadurunge ditulis ing disk, gunakake mode dry-run:

python manage.py translate --dry-run

Iki nyetak saben terjemahan ing terminal tanpa ngowahi file apa wae.

Perbandingan Biaya

Ing kene otomasi dadi angel dibantah.

Pendekatan 500 string, 5 basa Wektu Biaya berulang
Copy-paste manual Gratis ~40 jam ~8 jam/sprint
Penerjemah profesional ~$3.000 1-2 minggu ~$600/sprint
Penerjemah Fiverr ~$100-250 3-7 dina ~$50/sprint
Crowdin/Transifex $30-150/sasi Setup: jam-jaman Terus-terusan
TranslateBot + GPT-4o-mini ~$0.05 ~2 menit ~$0.01/sprint
TranslateBot + DeepL Free $0 ~2 menit $0

App Django cilik nganti sedeng kanthi kira-kira 500 string sing bisa diterjemahake biasane regane kurang saka $0.01 saben basa nganggo gpt-4o-mini. Kanggo akeh proyek tunggal, tingkat gratis DeepL (500.000 karakter/sasi) nyakup kabeh tanpa biaya.

Kanggo jelase: terjemahan AI ora sempurna. Terjemahan manusia sing murah uga ora. Bedane yaiku terjemahan AI meh tanpa biaya, teka langsung, lan bisa dibaleni kapan wae sampeyan pengin.

Integrasi CI: Aja Tau Ngirim String sing Durung Diterjemahake

Salah siji pola sing paling migunani sing dak temokake minangka developer tunggal yaiku nambah pemeriksaan terjemahan ing CI. TranslateBot kalebu perintah check_translations sing gagal yen ana file .po sing duwe entri sing durung diterjemahake utawa fuzzy:

# .github/workflows/ci.yml
jobs:
  translations:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v4
        with:
          enable-cache: true
      - run: uv python install
      - run: uv sync --frozen
      - name: Install gettext
        run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gettext
      - name: Check translations
        run: uv run python manage.py check_translations --makemessages

Yen sampeyan nambah tag {% trans %} anyar ing template lan lali mbukak translate, CI bakal nangkep:

locale/de/LC_MESSAGES/django.po: 1 untranslated, 0 fuzzy
locale/fr/LC_MESSAGES/django.po: 1 untranslated, 0 fuzzy
CommandError: Translation check failed

Iki ngowahi terjemahan saka bab sing kudu sampeyan eling dadi bab sing ora bisa sampeyan lali.

Tips Praktis

Mulai karo loro utawa telung basa. Sampeyan ora perlu diluncurake ing 15 basa ing dina pertama. Pilih basa sing duwe pangguna paling akeh utawa pasar sing paling gedhe. Jerman, Prancis, lan Spanyol nyakup akeh wilayah kanggo pasar Eropa.

Jaluk penutur asli mriksa string sing kritis. Terjemahan AI cukup apik kanggo akeh teks UI, nanging judul landing page lan alur onboarding sampeyan layak dideleng dening mata manusia. Jaluk kanca, pangguna, utawa wong ing forum komunitas ngenteni 10 menit mriksa string sing paling katon.

Gunakake dry-run sadurunge nimpa. Yen sampeyan perlu nerjemahake kabeh maneh (contone, sawise nganyari TRANSLATING.md kanthi pedoman terminologi sing luwih apik), pratinjau owahan dhisik:

python manage.py translate --overwrite --dry-run

Simpen TRANSLATING.md ing version control. Iki bagian saka konfigurasi terjemahan proyek sampeyan. Nalika sampeyan nganyari terminologi utawa pedoman nada, proses translate sabanjure bakal nggambarake owahan kuwi kanggo string anyar apa wae.

Terjemahake saben app nalika dibutuhake. Yen sampeyan mung ngowahi string ing siji app, sampeyan bisa ngatasi ruang lingkup terjemahane:

python manage.py translate --app billing

Saka Minggu-mingguan Dadi Menit-menitan

Framework internasionalisasi Django minangka salah siji sing paling apik ing framework web apa wae. Perkakas kanggo makemessages, direktori locale, lan compilemessages wis mateng lan bisa dipercaya. Siji-sijine bagian sing ilang yaiku langkah terjemahan dhewe. Kuwi biyen bagian sing larang lan alon.

Kanthi TranslateBot, alur kerjane dadi:

  1. Nulis kode nganggo gettext() lan {% trans %} kaya biasa
  2. Mbukak makemessages kanggo ngekstrak string
  3. Mbukak translate kanggo ngisi terjemahan
  4. Mbukak compilemessages kanggo ngompilasi
  5. Commit kabeh bebarengan

Kanggo developer tunggal, iki tegese lokalisasi ora maneh dadi proyek sing sampeyan rencanakake kanggo "kapan-kapan." Iki bab sing bisa sampeyan lakoni dina iki, ing wektu sing dibutuhake kanggo gawe secangkir kopi.

TranslateBot iku open source lan kasedhiya ing PyPI lan GitHub. Instal, mbukak perintahe, lan deleng app sampeyan ing basa anyar sajrone sawetara menit.

Mandheg nyunting file .po kanthi manual

TranslateBot ngotomatisasi terjemahan Django nganggo AI. Siji printah, kabeh basa sampeyan, murah banget saben terjemahan.