Skip to content

Instantly share code, notes, and snippets.

@niskala5570
Created September 5, 2023 20:33
Show Gist options
  • Save niskala5570/1c890c2c911e6ff9ec7a0e25e94ca603 to your computer and use it in GitHub Desktop.
Save niskala5570/1c890c2c911e6ff9ec7a0e25e94ca603 to your computer and use it in GitHub Desktop.
Penterjemah Rumi ke Jawi menggunakan eJawiMakmur
#Kod oleh CGpt dikeranakan aku ini seorang yang pemalas
import requests
# URL penterjemah Rumi ke Jawi
converter_url = "https://ebayt.muip.gov.my/jawi/libjawi.php?rumi="
# Fungsi untuk menanggalkan aksara khas dari teks Rumi dan menyimpan posisi mereka
def tanggalkan_aksara_khas(teks_rumi):
aksara_khas = {}
teks_rumi_tanpa_aksara = ""
for i, aksara in enumerate(teks_rumi):
if aksara.isalnum() or aksara.isspace():
teks_rumi_tanpa_aksara += aksara
else:
aksara_khas[i] = aksara
return teks_rumi_tanpa_aksara, aksara_khas
# Fungsi untuk menukar teks Rumi ke Jawi
def tukar_rumi_ke_jawi(teks_rumi):
try:
teks_rumi_tanpa_aksara, aksara_khas = tanggalkan_aksara_khas(teks_rumi)
# Kodkan teks Rumi yang telah ditanggalkan aksara untuk keselamatan URL
teks_rumi_kod = requests.utils.quote(teks_rumi_tanpa_aksara)
return teks_rumi_kod, aksara_khas
except Exception as e:
return None, None
# Fungsi untuk menggantikan koma dan koma Arab dengan ⹁ dalam teks
def gantikan_aksara_khas(teks):
return teks.replace(',', '⹁').replace('٫', '⹁').replace('٬', '⹁')
# Fungsi untuk mendapatkan teks Jawi daripada respons yang telah ditukar
def dapatkan_teks_jawi(teks_rumi_kod):
respons = requests.get(converter_url + teks_rumi_kod)
if respons.status_code == 200:
respons_json = respons.json()
return respons_json.get("jawi", "")
return None
# Fungsi utama
def main():
teks_rumi = input("Masukkan teks Rumi: ")
teks_rumi_kod, aksara_khas = tukar_rumi_ke_jawi(teks_rumi)
if teks_rumi_kod is not None:
teks_jawi = dapatkan_teks_jawi(teks_rumi_kod)
if teks_jawi is not None:
# Sisipkan aksara khas kembali ke dalam teks Jawi yang telah diterjemahkan
for pos, aksara in aksara_khas.items():
teks_jawi = teks_jawi[:pos] + aksara + teks_jawi[pos:]
# Gantikan koma dan koma Arab dengan ⹁
teks_jawi = gantikan_aksara_khas(teks_jawi)
print("Jawi:", teks_jawi)
else:
print("Tiada teks Jawi dalam respons.")
else:
print("Ralat semasa penukaran Rumi ke Jawi.")
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment