Program ini adalah aplikasi Command Line Interface (CLI) berbasis Python yang berfungsi untuk menerjemahkan teks ke berbagai bahasa menggunakan H56 Translator API. Aplikasi ini didesain dengan tampilan tabel ASCII yang rapi sehingga pengalaman penggunaan terasa lebih terstruktur dan mudah dibaca.
- Pendahuluan
- Fitur Utama
- Fitur Baru
- Mode Translate V2 (Slang/Informal)
- Struktur Program
- Instalasi
- Menjalankan Program
- Cara Menggunakan
- Dokumentasi API
- Riwayat Terjemahan
- Troubleshooting
- Struktur Folder Program
Program ini dibuat untuk memudahkan pengguna dalam menerjemahkan teks dari bahasa apa pun ke beberapa bahasa yang didukung melalui antarmuka terminal. Dengan memanfaatkan API pihak ketiga, aplikasi ini memungkinkan pengguna mendapat hasil terjemahan secara cepat dan praktis.
- Antarmuka ASCII yang rapi menggunakan tabel untuk menu dan hasil terjemahan.
- Dukungan banyak bahasa, yaitu:
idIndonesiaenEnglishjaJapanesekoKoreanarArabicfrFrenchdeGermanesSpanishruRussianzhChinese (Mandarin)
- Input ID negara (opsional), ditampilkan dalam hasil terjemahan.
- Penanganan error saat API gagal diakses atau terjadi timeout.
- Pembersihan layar otomatis agar tampilan tetap bersih.
Program kini mendukung Mode Translasi V2, yaitu fitur terjemahan dengan gaya bahasa slang / informal. Semua teks di bawah ini ditambahkan tanpa menghapus teks lama.
Fitur-fitur baru berdasarkan kode Python:
- Mode Translate V2 dengan pilihan gaya:
slanginformalslang_v2informal_slang_v2
- Mendukung fungsi API baru:
translate_v1()Mode normaltranslate_v2()Mode slang/informal
- Penambahan menu baru: Show Modes untuk menampilkan daftar mode V2.
- Penyimpanan riwayat kini mencatat:
- Mode translasi (V1 / V2)
- Mode detail jika menggunakan V2
- Perbaikan tampilan tabel untuk output V2.
- Struktur input lebih lengkap: teks, bahasa target, mode translasi, dan ID negara.
- API endpoint tambahan:
https://h56-translator-api.vercel.app/api/translate/v2
Program kini mendukung Mode Translasi V2 dengan variasi gaya bahasa:
slangCasual SlanginformalInformalslang_v2Slang V2informal_slang_v2Informal Slang V2
Fitur ini sangat berguna untuk menghasilkan terjemahan dengan nuansa lebih santai, gaul, atau tidak formal.
File log h56_history.log kini menyimpan:
- Teks asli
- Teks hasil terjemahan
- Bahasa target
- Mode translasi (V1 / V2 + jenis mode)
- ID negara (opsional)
- Timestamp
Pengguna dapat melihat daftar lengkap riwayat sebelumnya melalui menu khusus.
Program mengakses dua endpoint:
- V1 (Normal): Terjemahan standar
- V2 (Slang/Informal): Terjemahan dengan style khusus
- Cek teks kosong
- Cek kode bahasa valid
- Cek mode translasi valid untuk V2
- Fitur
backuntuk kembali ke menu sebelumnya
Fitur V2 menyediakan kemampuan menerjemahkan menggunakan gaya bahasa yang lebih fleksibel.
Daftar mode lengkap:
| Kode | Deskripsi |
|---|---|
slang |
Terjemahan slang santai |
informal |
Terjemahan informal umum |
slang_v2 |
Slang tingkat lanjutan |
informal_slang_v2 |
Campuran informal + slang |
Format request V2 menggunakan field tambahan translationMode.
Program kini mendukung perintah khusus untuk menghapus seluruh history terjemahan langsung dari menu riwayat.
Fitur ini tersedia pada menu:
2. Lihat Riwayat Terjemahan
Saat berada di tampilan riwayat, pengguna dapat menjalankan perintah tambahan.
| Perintah | Fungsi |
|---|---|
del |
Menghapus seluruh riwayat terjemahan |
Enter |
Kembali ke menu utama |
- Buka menu Lihat Riwayat Terjemahan.
- Ketik perintah berikut:
del - Program akan menampilkan konfirmasi:
Yakin hapus SEMUA history? (y/n): - Ketik
yuntuk melanjutkan penghapusan.
Jika berhasil, program akan menampilkan pesan:
History berhasil dihapus.
- Penghapusan bersifat permanen.
- Seluruh isi file
h56_history.logakan dikosongkan. - Folder
history_translate/tidak dihapus. - Jika file log belum ada, sistem akan membuatnya otomatis.
Fungsi ini menangani:
- Menampilkan daftar history
- Menerima perintah user
- Memproses perintah
del
Potongan logika utama:
- Membaca input command user
- Jika input ==
del, program meminta konfirmasi - Jika konfirmasi ==
y, maka fungsiclear_history()dipanggil
open(LOG_FILE, "w", encoding="utf-8").close()Fungsi ini:
- Membuka file history dalam mode tulis (
w) - Mengosongkan seluruh isi file tanpa menghapus file
history.py
ensure_history_dir()
write_history()
read_history()
clear_history() # fitur baru
display_history() # menangani command `del`
import historyFungsi pemanggil:
show_history()memanggilhistory.display_history()start_translation()menyimpan history melaluiwrite_history()
- User melakukan translasi
- Data disimpan melalui
write_history() - User membuka menu history
- User dapat:
- Melihat daftar history
- Menghapus seluruh history dengan
del
- File
h56_history.logdiperbarui sesuai aksi
Berikut fungsi-fungsi utama dalam kode:
| Fungsi | Deskripsi |
|---|---|
main_menu() |
Menampilkan menu utama. |
start_translation() |
Mengatur input dan pemrosesan terjemahan. |
translate_v1(text, target) |
API translator mode biasa. |
translate_v2(text, target, mode) |
API translator mode slang/informal. |
show_languages() |
Menampilkan daftar bahasa. |
show_modes() |
Menampilkan mode V2. |
log_history() |
Menyimpan riwayat ke file log. |
show_history() |
Menampilkan riwayat dari file log. |
line() & row() |
Membuat elemen tabel ASCII. |
clear() |
Membersihkan layar terminal. |
python --versionpip install requestsgit clone https://github.com/HASYIM56/translator-python-rest-api-cli.git
cd translator-projectpython translator.py- Jalankan program.
- Pilih menu utama.
- Masukkan teks.
- Pilih bahasa target.
- Pilih mode translasi (V1 atau V2).
- (Opsional) Masukkan ID negara.
- Hasil akan ditampilkan dalam tabel ASCII.
API baru yang digunakan program berdasarkan kode Python terbaru:
POST https://h56-translator-api.vercel.app/api/translate/v2
Payload:
{
"text": "teks yang akan diterjemahkan",
"targetLang": "kode_bahasa",
"translationMode": "slang | informal | slang_v2 | informal_slang_v2"
}Respons:
{
"translatedText": "hasil terjemahan"
}POST https://h56-translator-api.vercel.app/api/translate
Payload:
{
"text": "teks contoh",
"targetLang": "id"
}Respons:
{
"translatedText": "hasil"
}POST https://h56-translator-api.vercel.app/api/translate/v2
Payload:
{
"text": "teks contoh",
"targetLang": "id",
"translationMode": "slang"
}Semua riwayat disimpan ke:
h56_history.log
Format:
[YYYY-MM-DD HH:MM:SS] MODE: v2 | FROM: Hello | TO (id) = Halo | CountryID: MY
| Masalah | Penyebab | Solusi |
|---|---|---|
| Timeout API | Server sibuk / internet lambat | Coba ulangi beberapa saat |
| Input kosong | Pengguna menekan Enter tanpa teks | Masukkan teks minimal 1 karakter |
| Bahasa tidak valid | Kode tidak ada di daftar | Cek kembali daftar bahasa |
| Mode V2 salah | Salah mengetik kode | Gunakan menu daftar mo |
Struktur direktori proyek berdasarkan implementasi kode saat ini adalah sebagai berikut:
project/
translator.py
history.py
history_translate/
h56_history.log
Penjelasan singkat:
translator.py
File utama aplikasi CLI, berisi menu, logika translasi, pemilihan bahasa, mode V1/V2, serta integrasi API.history.py
Modul pendukung untuk mencatat, membaca, dan menampilkan riwayat terjemahan secara terstruktur.history_translate/
Folder penyimpanan histori terjemahan.h56_history.log
File log yang menyimpan semua riwayat translasi lengkap dengan timestamp, mode, bahasa target, dan ID negara.