Skip to content

anan474/frappe-id-translator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇮🇩 Otomasi Translasi Aplikasi Frappe ke Bahasa Indonesia

Proyek ini bertujuan untuk mengotomatiskan proses translasi aplikasi Frappe (misalnya HRMS) ke dalam Bahasa Indonesia menggunakan LLM Agent.

⚠️ Catatan: Hanya berlaku untuk aplikasi Frappe yang menggunakan sistem translasi dengan file .po/.pot berbasis gettext.


🧰 Prasyarat

Pastikan hal berikut telah terpenuhi sebelum memulai:

  • bench sudah terinstal
  • Aplikasi yang ingin diterjemahkan sudah di-install dari fork repository
  • Editor yang mendukung AI Builder Agent, misalnya Trae

🚀 Contoh Translasi Aplikasi HRMS

1. Siapkan File Terjemahan

Jalankan perintah berikut di direktori bench:

bench generate-pot-file --app hrms
bench update-po-files --app hrms --locale id

2. Lakukan Translasi

  1. Salin file id.po hasil generate ke direktori kerja.

  2. Jalankan:

    python split_po.py
  3. Gunakan AI Agent dengan prompt (lihat bagian di bawah).

  4. Setelah translasi selesai, jalankan validasi:

    python validate_po_files.py

    Perbaiki jika ditemukan kesalahan.

  5. Gabungkan hasil translasi:

    python merge_po_files.py
  6. File hasil akhir adalah result.id.po, dan dapat digunakan untuk menggantikan id.po di repositori aplikasi.

3. Kompilasi dan Terapkan

bench compile-po-to-mo --app hrms --locale id

Untuk menerapkan ke situs:

  • Ganti file id.po dengan hasil translasi (result.id.po)
  • Backup situs
  • Reinstall aplikasi
  • Restore backup

🤖 Prompt untuk Builder Agent

Gunakan prompt berikut di AI code editor:

Dari file di direktori “source” merupakan potongan dari project translasi software bernama Frappe HRMS, sebuah software HR (human resource) dan bagian dari sistem ERP (enterprise resource planning).

Berikut contoh dan penjelasan dari code dalam file ini:
`
#. Label of the job_description_tab (Tab Break) field in DocType 'Job Requisition'
#. Label of the description (Text Editor) field in DocType 'Job Requisition'
#: hrms/hr/doctype/job_requisition/job_requisition.json hrms/setup.py:403
msgid "Job Description"
msgstr "Deskripsi Bidang Kerja"
`

- Baris yang diawali oleh `#` adalah komentar, memberikan konteks dan lokasi teks pada kode
- `msgctxt` menunjukkan konteks tambahan
- `msgid` adalah teks asli dalam Bahasa Inggris
- `msgstr` adalah hasil terjemahan ke Bahasa Indonesia

Aturan translasi:
- Gunakan istilah yang sesuai untuk konteks software enterprise
- Jika ada istilah yang canggung saat diterjemahkan, pertahankan dalam Bahasa Inggris
- Buat hasil terjemahan mudah dipahami pengguna HR/ERP
- Ikuti format penulisan yang ada (indentasi, tanda petik, dll.)
- Jangan ada baris yang terlewat
- Simpan hasil di direktori `result` dengan nama file yang sama

📂 Struktur Direktori

.
├── source/             # File .po yang dibagi
├── result/             # File hasil translasi
├── id.po               # File .po asli hasil generate
├── result.id.po        # File .po hasil akhir translasi
├── split_po.py
├── merge_po_files.py
└── validate_po_files.py

About

Otomatisasi translasi aplikasi Frappe ke bahasa Indonesia menggunakan LLM Agent. Hanya mendukung aplikasi yang menggunakan file .po/.pot untuk sistem translasi (gettext).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages