Sahkan ejaan Bahasa Melayu dan Jawi terhadap PRPM Dewan Bahasa dan Pustaka sebelum menghantar output. Guna apabila menulis, menyemak, atau mentransliterasi teks BM/Jawi, terutama bahan pendidikan, RPH, nota, atau apa-apa yang perlu ikut ejaan rasmi DBP. Trigger: jawi, kamus dewan, ejaan rasmi, DBP, PRPM, transliterasi, bahasa melayu baku.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
O comando permanece em uma só linha. Role horizontalmente para revisá-lo antes de copiar.
Prefere uma cópia local? Baixe os arquivos disponíveis atualmente no SkillsMP.
Exibindo SKILL.md
SKILL.md
Instruções da origem · Visualização somente leitura
name
prpm-dbp
description
Sahkan ejaan Bahasa Melayu dan Jawi terhadap PRPM Dewan Bahasa dan Pustaka sebelum menghantar output. Guna apabila menulis, menyemak, atau mentransliterasi teks BM/Jawi, terutama bahan pendidikan, RPH, nota, atau apa-apa yang perlu ikut ejaan rasmi DBP. Trigger: jawi, kamus dewan, ejaan rasmi, DBP, PRPM, transliterasi, bahasa melayu baku.
prpm-dbp
Sumber kebenaran tunggal untuk ejaan BM dan Jawi ialah PRPM DBP, bukan ingatan model.
Model boleh hasilkan Jawi yang nampak betul tetapi salah, dan pembaca tidak dapat kesan. Skill ini tukar tekaan jadi semakan.
Sebelum menghantar apa-apa
Jalankan npx prpm-dbp gate <fail> --luar-talian ke atas keseluruhan teks. Bukan sebahagian. Bukan perkataan yang anda rasa berisiko.
Ejaan yang salah ialah tepat ejaan yang anda tidak syak. Kalau anda syak, anda sudah menyemaknya.
Ini termasuk ejaan yang anda tulis dalam kod, ujian dan dokumentasi, bukan hanya dalam teks untuk pengguna. Semasa membina pakej ini sendiri, satu nilai Jawi ditulis ke dalam ujian daripada ingatan tanpa disemak. Nilainya kebetulan betul. Kebetulan bukan proses.
Apa yang berlaku apabila langkah ini dilangkau:
Satu agen menggunakan skill ini sepanjang sesi penuh untuk menukar Jawi ke Rumi, kemudian menghantar 549 kad RPH Pendidikan Islam ke pangkalan data produksi dengan 273 ejaan yang salah.
pusingan 1 sunnah x206, hadith x16, fardhu x2 -> masuk produksi
pusingan 2 tayammum, dhuha, qadha, redha, iddah x90 -> masuk produksi
Semuanya kata lazim dalam bahan Pendidikan Islam. Setiap satu ada jawapan tegas dalam PRPM: sunnah ialah rujukan silang ke sunah, hadith sepatutnya hadis, fardhu sepatutnya fardu, tayammum sepatutnya , sepatutnya , sepatutnya .
tayamum
dhuha
duha
qadha
qada
Alat untuk menangkap kesemuanya ada di tangan agen itu sepanjang masa. Ia tidak pernah dijalankan ke atas teks Rumi keluarannya sendiri. Kedua-dua pusingan ditemui kerana pengguna bertanya, bukan kerana proses menangkapnya.
gate menyemak kedua-dua tulisan dalam panggilan yang sama. Versi terdahulu menyemak Rumi sahaja, jadi dokumen Jawi penuh melepasinya tanpa satu aduan pun — tepat jenis dokumen yang alat ini paling diperlukan.
Empat perkara yang ditangkap dalam teks Jawi:
Keadaan
Contoh
Keputusan
ruang tersasar di dalam perkataan
ݢول وڠن
ralat, cadang ݢولوڠن
ejaan tiada dalam DBP
منجاوهكن
ralat, cadang منجاءوهکن
homograf tulen
سنة
tidak dapat disahkan, dua bacaan
petikan Arab
الشِّمال
tidak dapat disahkan, §11.1
Ruang tersasar itu kes paling berbahaya. Separuh perkataan boleh berjaya secara palsu: ݢول benar-benar memetakan kepada dua perkataan DBP tulen, gol dan gul. Penukar yang memilih calon paling kerap akan mengeluarkan "gol" dengan yakin, dan separuh perkataan hilang tanpa sesiapa perasan. Sebab itu percantuman dicuba apabila salah satu jiran belum selesai, bukan kedua-duanya.
Teks Arab dan al-Quran TIDAK PERNAH ditukar
Pedoman §11.1: petikan al-Quran, hadis, nama surah, nama tokoh dan nama tempat kekal ejaan Arab asalnya. Ia tidak ditransliterasi ke Rumi dan tidak pernah dicadangkan pembetulan ejaan Melayu.
Ini bukan teori. الدين (ad-Din) memetakan kepada dua entri dalam data, jadi penukar lama mengeluarkan addin|al-din untuk teks Arab tulen dan pembaca tidak nampak apa-apa salah.
Dua isyarat automatik, kedua-duanya diukur pada 66,323 ejaan Jawi DBP sebenar:
Isyarat
Padanan palsu
Contoh dilindungi
tanda baris (harakat)
0
إِنَّ ٱللَّهَ مَعَ ٱلصَّٰبِرِينَ
أ atau آ di awal
5 (0.008%)
أصحاب
ال di awal, tidak dikenali
—
اليمين, المقربون, الفاتحة
Petikan al-Quran datang bertanda baris dalam amalan biasa, jadi ia dilindungi tanpa apa-apa persediaan.
Istilah Arab telanjang — yang tiada tanda baris dan padan sesuatu dalam kamus, seperti الدين — diisytihar sekali:
npx prpm-dbp nama ad-din الدين --jenis arab
Selepas itu ia tidak disentuh lagi, dalam rumi mahupun gate.
Dua perkara yang sengaja TIDAK dibuat, kedua-duanya diuji dan ditolak:
Rentang Arab tidak merebak kepada jiran. Kelihatan betul sehingga diuji: satu ejaan Melayu yang salah di sebelah petikan al-Quran tidak dapat dibezakan daripada satu perkataan Arab di sebelah petikan al-Quran, jadi منجاوهكن diserap dan kesilapan sebenar hilang. Mendiamkan ralat tulen lebih buruk daripada menandakan satu perkataan Arab yang jarang.
Jaminan DBP tidak dituntut untuk mengatasi isyarat ال. Ia membekukan 325 daripada 346 perkataan ber-ال, termasuk alah, alaf dan alabaster, yang alif-lamnya sebahagian perkataan dan bukan kata sandang. Ortografi sahaja tidak dapat membezakannya.
Nama khas Arab tanpa kata sandang ال (أصحاب, nama tokoh, nama tempat) tidak dapat disahkan kamus Melayu. Isytiharkannya melalui npx prpm-dbp nama <rumi> <jawi> --jenis arab; selepas itu ia berhenti menjadi ralat, tetapi tetap bukan lulus DBP.
gate keluar dengan kod 1 apabila ada ralat, jadi ia boleh dipasang sebagai hook atau langkah CI. Peraturan yang bergantung pada agen ingat sendiri akan gagal, dan gagal secara senyap.
Kuatkuasa automatik
npx prpm-dbp install --hook
Memasang hook PostToolUse yang menjalankan gate --luar-talian ke atas setiap fail .md, .txt atau .json yang ditulis atau disunting. Ia melaporkan ralat kepada agen tanpa menyekat tulisan: menyekat atas kamus yang tidak lengkap akan menghalang kerja yang sah, manakala melaporkan sudah memadai kerana agen membaca output hook.
Untuk menampal sendiri: npx prpm-dbp hook-json.
Panaskan cache sekali semasa pemasangan, bukan semasa gate berjalan:
npx prpm-dbp warm kosa-kata-projek.txt
Gate atas cache panas mengambil 0.19 saat bagi 406 perkataan. Itu cukup pantas untuk setiap penyuntingan. Gate yang perlahan akan dimatikan orang.
Tiga keadaan gate, bukan dua
Medan
Maksud
Kesan
lulusDbp
ada dalam PRPM, ejaan padan
—
ralat
ada dalam PRPM dengan ejaan lain, entri rujukan silang ®, atau tiada dalam PRPM mahupun dataset
exit 1
tidakDapatDisahkan
tiada dalam cache, nama khas, akronim, atau tiada entri PRPM tetapi wujud dalam dataset
dilapor; exit 1 jika melebihi --ambang
tidakDapatDisahkantidak pernah lulus senyap. Gate yang lulus atas cache sejuk memberi jaminan palsu, dan itu lebih bahaya daripada tiada gate. Gunakan --ambang 10 supaya cache sejuk menggagalkan gate.
PRPM tiada entri untuk kata tugas paling asas: dan, di, ke, yang, atau. Menandakannya sebagai ralat menjadikan gate mustahil dipakai. Pembezanya bersumber, bukan senarai putih: kata tugas itu semua wujud dalam dataset, manakala hadith, fardhu, tayammum, dhuha, qadha, redha dan iddahtiada satu pun.
Baca belumDisahkan dan namaKhas. Jangan reka ejaan untuknya. Sahkan dengan lookup, atau tanya pengguna, atau tandakan dalam hasil akhir.
Baca mencurigakan. Setiap satu bermakna PRPM sendiri mungkin tersilap. Semak di pautan yang diberi sebelum menggunakannya.
Baca homograf. Beritahu pengguna perkataan mana yang akan taksa apabila dibaca.
Laporkan semuanyaDbp. Jika false, nyatakan bahagian mana bukan daripada sumber rasmi.
Merumikan daripada Jawi:
npx prpm-dbp rumi <fail> --pilih --konteks --json
Untuk setiap item dalam kabur: baca ayat yang mengandunginya, baca makna setiap calon, tentukan yang mana sesuai.
Jika dipilih salah bagi ayat itu, gantikan dalam hasil akhir. Kekerapan kalah kepada konteks.
Nyatakan kepada pengguna berapa banyak kekaburan wujud dan mana yang anda ubah.
tidakDikenali bermakna perkataan itu tiada dalam cache. Jalankan warm di luar talian, bukan tinggalkan bertanda.
Berhenti dan tanya pengguna apabila: ejaan mencurigakan mengubah makna, nama khas tiada rujukan bertulis, atau dua calon sama-sama munasabah dalam ayat itu.
Semua perintah menyokong --json, jadi langkah di atas boleh dibuat secara berulang tanpa menghurai teks.
Peraturan
Semak ejaan ikut DBP, bukan ikut ingatan. Ini peraturan pertama kerana ia yang paling kerap dilanggar. Perkataan yang anda "tahu" ejaannya masih perlu disemak. Contoh sebenar daripada penggunaan: sunah ialah سنة tetapi sunat ialah سونت; bena langsung tiada ejaan Jawi dalam PRPM walaupun ia perkataan yang sah; salat hanyalah rujukan silang kepada solat. Tiada satu pun daripada perbezaan ini boleh diteka daripada bentuk Rumi. Jalankan lookup atau jawi, jangan tulis daripada ingatan.
0b. Dua langkah untuk menentukan sesuatu perkataan betul. Pertama, pastikan ia ada dalam PRPM. Kedua, semak konteks ayat. Langkah kedua tidak boleh dilangkau: ejaan Jawi menggunakan empat huruf vokal berbanding enam dalam Rumi, jadi مڠيکوت ialah ejaan sah bagi mengikut dan mengekot sekali gus. Kamus boleh mengesahkan perkataan itu wujud; hanya ayat boleh menentukan yang mana satu dimaksudkan.
0c. PRPM sendiri boleh tersilap. Entri menyebuk membawa sebutan dan definisi yang betul tetapi ejaan Jawi مڽبوت, iaitu ejaan menyebut. Pakej menandakannya dalam medan mencurigakan apabila huruf akhir Jawi tidak sepadan dengan hujung Rumi. Tandaan itu bermakna semak sendiri di PRPM, bukan buang.
0d. Merumikan ialah keputusan peringkat AYAT, bukan peringkat perkataan. Jangan tukar token demi token dan anggap ia selesai. Ejaan Jawi menggunakan empat huruf vokal berbanding enam dalam Rumi, jadi satu ejaan kerap membawa lebih daripada satu bacaan sah. مڠيکوت ialah mengikutdanmengekot, dua-duanya entri PRPM sebenar dengan sebutan sendiri. Kamus mengesahkan kedua-duanya wujud; hanya ayat menentukan yang mana dimaksudkan.
Gunakan --konteks supaya ayat dan makna setiap calon dipaparkan bersama:
مڠيکوت -> mengikut atau mengekot
ayat: itu mengikut|mengekot sukatan pelajaran.
mengikut 2439 rujukan pergi bersama-sama dgn, menurut, mengiring
mengekot 6 rujukan merapatkan paha dan tangan ke badan
Bilangan rujukan itu datang daripada panel korpus DBP sendiri, bukan anggaran. Ia mengisih calon supaya yang lazim dilihat dahulu; ia tidak memilih. Perkataan jarang tetap betul apabila ayat menghendakinya.
0e. Pembahagian kerja: alat mengemukakan, ANDA memutuskan. CLI tidak boleh membaca konteks; anda boleh. Jangan sesekali menghantar mengikut|mengekot sebagai hasil akhir kepada pengguna.
Aliran yang betul:
npx prpm-dbp rumi teks.txt --pilih --konteks
--pilih menghasilkan teks bersih dengan memilih calon paling lazim, dan menyenaraikan setiap pilihan itu:
itu mengikut sukatan pelajaran.
dipilih ikut kekerapan (SEMAK konteks): مڠيکوت -> mengikut [lain: mengekot]
Setiap baris dipilih ialah tekaan berasaskan kekerapan, bukan pemahaman konteks. Baca ayatnya. Dalam contoh di atas mengikut sukatan pelajaran jelas betul dan mengekot mustahil. Tetapi dalam ayat tentang orang kesejukan merapatkan tangan ke badan, mengekot yang betul walaupun kekerapannya 6 berbanding 2439. Kekerapan ialah tekaan terbaik tanpa konteks; ia kalah kepada konteks setiap kali.
Jangan hantar Jawi yang belum disemak. Setiap perkataan Jawi dalam output mesti datang dari PRPM atau ditanda belum disahkan.
Tanda, jangan sekat. Kalau satu perkataan tiada dalam PRPM, hantar kerja itu dan senaraikan perkataan berkenaan di hujung. Jangan tahan seluruh dokumen sebab satu nama khas.
Sebut sumber. PRPM ada beberapa kamus. Bila petik definisi, sebut kamus mana (Kamus Dewan Edisi Keempat, Kamus Pelajar Edisi Kedua, dan lain-lain).
Jangan percaya glosari auto. Kamus rumi ke Jawi yang dijana secara automatik mengandungi kesilapan. Sahkan dengan check-glosari sebelum guna.
Akronim dan nama khas dikecualikan. PBD, KBAT, KSSM, nama orang, nama tempat memang tiada dalam PRPM. Ini bukan kegagalan, cuma tiada rujukan.
Perintah
Panggil melalui npx tanpa pemasangan, atau node bin/cli.js dari repo.
# satu atau beberapa perkataan
npx prpm-dbp lookup murid sekolah
# semak setiap perkataan Rumi dalam fail wujud dalam PRPM
npx prpm-dbp audit nota.txt
# semak ejaan Jawi lawan teks Rumi sejajar
npx prpm-dbp audit-jawi rph-jawi.txt rph-rumi.txt
# panaskan cache dari senarai perkataan, bayar sekali guna selamanya
npx prpm-dbp warm senarai-kata.txt
# audit kamus rumi->jawi sedia ada terhadap PRPM
npx prpm-dbp check-glosari jawi-dictionary.json
# silang semak dua sumber rasmi DBP
npx prpm-dbp banding murid kemahiran
npx prpm-dbp cache
Semua perintah keluarkan JSON kecuali lookup tanpa --json.
Pilihan: --refresh abai cache, --had <n> hadkan bilangan kata, --delay <ms> jarak antara permintaan (default 400ms), --json.
Menukar Rumi dan Jawi
Ini bukan transliterator. Tiada peraturan huruf demi huruf digunakan. Setiap perkataan datang dari kamus DBP atau ditanda «begini». Jangan buang penanda itu tanpa menyemak.
Tanda baca, baris baru dan jarak dikekalkan, jadi susun atur dokumen tidak rosak.
Bila jawi menandakan perkataan, ada dua sebab berbeza dan ia dilaporkan berasingan:
Laporan
Maksud
Tindakan
belum disahkan
tiada dalam DBP, dan bukan terbitan mana-mana kata dasar
semak ejaan, atau isytihar nama khas
terbitan sah tanpa ejaan Jawi
bentuk sah daripada kata dasar yang wujud, tetapi DBP tiada ejaan Jawi untuknya
cari kata dasar di KamusDBP, tab kata terbitan
Contoh kedua: dipelajari ialah terbitan sah daripada ajar. Alat ini tidak akan menulis Jawi bagi ajar di tempatnya. Itu perkataan lain, dan ejaannya berbeza.
Calon pembacaan songsang diisih ikut rantai kepercayaan. Perkataan hanya layak menjadi pembacaan bagi sesuatu ejaan Jawi jika PRPM memberikannya ejaan Jawi sendiri. Kata yang PRPM catatkan tanpa ejaan Jawi (bena), atau yang definisinya rujukan silang (salat → ® solat), dibuang daripada senarai calon walaupun dataset komuniti memetakannya kepada ejaan yang sama.
Perkataan yang belum diketahui statusnya, iaitu tiada dalam cache, tidak pernah dibuang. Ketiadaan bukan bukti kegagalan. Ia kekal sebagai calon dan sumbernya dilabel dataset. Kerana itu memanaskan cache mengurangkan kekaburan: bukan kerana peraturan berubah, tetapi kerana bukti bertambah.
Bila rumi jumpa kekaburan, satu ejaan Jawi memetakan kepada beberapa perkataan Rumi. Semua calon dipaparkan dipisah |. Pilih ikut konteks ayat, jangan ambil yang pertama secara membuta.
Sebahagian kekaburan itu palsu dan diselesaikan sendiri. DBP menandakan bentuk varian dengan rujukan silang: definisi kalkalah ialah ®qalqalah., bukan definisi sebenar. Varian begitu dinyahutamakan, jadi قلقله dibaca qalqalah terus.
Isyaratnya mestilah tanda ® itu, bukan kehadiran ejaan Jawi. pada tiada ejaan Jawi dalam PRPM manakala pad (pinjaman Inggeris) ada. Mengutamakan "yang ada Jawi" akan menukar setiap pada menjadi pad.
Jawi Melayu menulis vokal dengan alif, wau dan ya, tidak seperti Arab. Kerana itu kekaburan jarang berlaku, tetapi ia tetap wujud.
rumi bekerja dari cache sahaja dan tidak menyentuh rangkaian. Perkataan yang belum pernah disemak dalam arah Rumi ke Jawi tidak akan dikenali. Jalankan warm atau audit dahulu pada kosa kata yang berkaitan.
Istilah Arab
Kebanyakan istilah agama ialah kata Melayu, bukan kata asing. Diuji terhadap PRPM: 29 daripada 30 istilah lazim ada entri, termasuk yasin, fatihah, baqarah, rahman, rasulullah. Jangan andaikan sesuatu itu Arab semata-mata kerana ia berbunyi Arab; tanya DBP dahulu.
Tiga keadaan berbeza, dilaporkan berasingan:
Keadaan
Contoh
Maksud
Ada entri dan ejaan Jawi
solat صلاة, zakat زکاة
guna terus
adaEntriTanpaJawi
yasin, fatihah, baqarah, wuduk
DBP iktiraf sebagai kata Melayu, cuma tiada ejaan Jawi disimpan
belumDisahkan
ahzab
bukan kata Melayu; nama khas Arab
Ejaan Jawi bagi pinjaman Arab mengekalkan ejaan Arab asal, bukan dieja secara fonetik: صلاة bukan سولت, زکاة bukan زکات. Ta marbutah dan alef maksura dikekalkan. Sebab itu ta marbutah tidak pernah dilipat semasa perbandingan.
Sesetengah entri memulangkan dua perkataan Jawi untuk satu perkataan Rumi: rasulullah → رسول الله. Pembacaan songsang memadan jujukan, jadi ia tidak pecah menjadi rasul allah.
Teks Arab yang dipetik dibiarkan sepenuhnya. Jawi Melayu tidak menggunakan baris tanda vokal, jadi kehadiran fathah, kasrah, dammah, sukun atau tanwin bermakna potongan itu Arab, bukan Jawi. Ayat al-Quran dan hadis dalam dokumen Melayu lulus tanpa disentuh dan dilaporkan dalam medan arab.
Nama khas
Diuji terhadap PRPM: nama tokoh dan nama surah tiada sumber berwibawa.muhammad, ibrahim, musa, umar, aisyah, khadijah semuanya tiada entri. Nama surah seperti fatihah, baqarah, yasin ada entri tetapi tanpa ejaan Jawi. Dataset komuniti meliputi nama tempat (mekah مکة, mesir مسير, pahang ڤاهڠ) tetapi bukan nama orang.
Alat ini tidak mereka ejaan nama. Sebaliknya:
Perkataan berhuruf besar di tengah ayat dikira nama khas dan dilaporkan dalam medan namaKhas, berasingan daripada belumDisahkan. Nama bukan salah eja.
Sahkan sekali, guna selamanya:
npx prpm-dbp nama Muhammad <ejaan-jawi>
npx prpm-dbp nama # senaraikan yang sudah disahkan
Ejaan yang disimpan begini ditandakan datang daripada pengguna, bukan daripada DBP. Sahkan dengan guru atau rujukan bertulis dahulu.
Jangan keliru antara dua benda:
Layanan
Petikan bahasa Arab (ayat, doa, hadis)
kekal Arab, tidak disentuh
Nama khas dalam ayat Melayu
ditulis dalam Jawi, bukan dikekalkan
Bagi nama berasal Arab, ejaan Jawinya memang ejaan Arab asal, jadi ia nampak seperti dikekalkan. Bagi nama bukan Arab ia ditransliterasi penuh: Kuala Lumpur menjadi کوالا لومڤور.
Peraturan Pedoman DBP
Satu fail sahaja dalam pakej ini menjana ejaan dan bukan mencarinya: src/pedoman.js. Ia dibenarkan kerana setiap peraturan di dalamnya datang daripada Pedoman Umum Ejaan Jawi Bahasa Melayu terbitan DBP, dan dirujuk pada seksyennya.
§14.1 — kata sendi di dan ke ditulis sebagai satu kata dengan kata yang mengikutinya.
di Mekah -> دمکة bukan د مکة
ke sekolah -> کسکوله bukan ک سکوله
Nota seksyen yang sama: jika kata berikutnya bermula dengan alif, hamzah dibubuh di atas alif itu. di Asrama menjadi دأسراما, bukan داسراما.
Kodpoint hamzah (U+0623) disahkan secara empirik daripada dataset, bukan diandaikan: abai bermula ا U+0627, diabaikan bermula د + أ U+0623. Corak sama pada diambil, diajar, diurus.
Bentuk bercantum tidak wujud sebagai entri kamus, jadi pembacaan songsang memisahkannya semula dan memulihkan hamzah kepada alif. Peraturan ini simetri.
Kata sendi tidak dicantum apabila kata berikutnya belum disahkan, kerana hasilnya akan menjadi Jawi bercantum dengan teks Rumi bertanda.
§11 — kata serapan Arab, dua peringkat:
Seksyen
Jenis
Cara eja
Contoh
§11.1
istilah khusus
ikut ejaan asal Arab
wuduk, Qur'an, sunah, hadis, tayamum
§11.2
kata umum yang sudah terserap
ikut kaedah kata jati Melayu
sabun
Pakej tidak perlu memilih antara dua ini. DBP sudah memilih, dan pilihan itu terkandung dalam ejaan yang dipulangkan PRPM. Ia didokumenkan supaya tiada siapa "membetulkan" صلاة kepada ejaan fonetik Melayu kemudian hari.
§11.6 — alif maqsurah dikekalkan.takwa تقوى, fatwa فتوى, Musa, Isa. Ia diganti dengan alif hanya apabila dibentuk kata terbitan: ketakwaan, memfatwakan, pendakwaan. Perbezaan itu membawa maklumat, jadi ىtidak pernah dilipat semasa perbandingan. Melipatnya akan membuat تقوي yang salah dibandingkan sama dengan تقوى yang betul.
§10 — enam belas perkataan dikecualikan daripada aturan pola:ada, apa, beta, bin, binti, dari, daripada, ini, itu, jika, kepada, kita, lima, maka, pada, demikian. Ejaannya mesti datang daripada kamus dan tidak boleh dibetulkan oleh mana-mana peraturan pola.
§17.1 — kata ulang penuh menggunakan angka dua Arab ٢, bukan sempang dan bukan kata dasar ditulis dua kali.
Cikgu-cikgu -> چيقݢو٢
murid-murid -> موريد٢
Kata dasar dicari dalam kamus seperti biasa, jadi ejaannya tetap datang daripada sumber. Hanya penambahan ٢ itu dijana oleh peraturan. Peraturan ini simetri: چيقݢو٢ dibaca semula sebagai cikgu-cikgu.
§17.2 mengecualikan kata ulang yang berubah bentuk (berimbuhan atau berentak) seperti bermaaf-maafan. Di situ sempang kekal dan peraturan ٢ tidak terpakai, jadi padanan menuntut kedua-dua bahagian benar-benar serupa.
Penjanaan imbuhan (pilihan, mati secara lalai)
--pedoman membenarkan pakej menjana ejaan kata berimbuhan menurut §13 dan §15, apabila tiada sumber lain mempunyai jawapan. Ejaan kata dasar tetap dicari dalam kamus; hanya imbuhan yang dijana.
Ia mati secara lalai kerana ketepatannya diukur, bukan diandaikan. Diuji terhadap 66,000 perkataan sebenar:
Imbuhan
Kes diuji
Betul
-mu
333
98%
-nya
3,697
97%
di-
2,435
92%
se-
1,605
90%
ke-
976
88%
-kan
3,046
92%
Sebahagian kegagalan itu artifak ukuran (tamu bukan ta+mu), jadi ketepatan sebenar lebih tinggi. Walaupun begitu, 98% tidak cukup untuk menjana ejaan secara senyap dalam alat yang seluruh tujuannya menghalang Jawi yang nampak betul tetapi salah.
Bila dihidupkan, hasilnya tetap ditanda dan dilaporkan dalam medan dijanaPedoman berserta rujukan seksyennya:
$ npx prpm-dbp jawi nota.txt --pedoman
«اباديڽ» ککل.
dijana ikut Pedoman, BELUM disahkan DBP (1): Abadinya=اباديڽ [Pedoman DBP §15.1]
Peraturan yang dilaksanakan: §13.5-13.7 (awalan di-, se-, ke-), §13.9 (akhiran -kan), §13.10 (tiga cara akhiran -an), §13.11 (tiga cara akhiran -i), §15.1 (kata ganti singkat ku, mu, nya).
Awas terhadap nota panduan tidak rasmi. Nota sekolah sering menyatakan "huruf alif ditambah semula apabila menerima imbuhan" sebagai peraturan menyeluruh. Diuji terhadap data sebenar, itu tidak benar: suka سوک menjadi sukakan سوککن dan lukanya لوکڽ, kedua-duanya tanpa alif. Penambahan alif berlaku bagi -an dan -i sahaja, menurut Catatan §13.10(ii) dan §13.11(i).
Kodpoint setiap imbuhan disahkan empirik daripada dataset, bukan dibaca daripada peraturan. Hamzah dalam akhiran ialah ء U+0621 berdiri sendiri, manakala dalam awalan ia أ U+0623 di atas alif. Peraturan bertulis tidak membezakan dua itu.
Apa yang sebenarnya tercicir
Diuji terhadap satu pelajaran Pendidikan Islam Tingkatan 4 sebenar (406 perkataan):
disahkan DBP 223 | dari dataset 38 | kata sendi §14.1 3
nama khas 15 | belum disahkan 10
Tiada satu pun kata Melayu biasa tercicir. Yang tinggal terbahagi kepada dua kategori sahaja:
Inilah sebab transliterator pola suku kata (§7 hingga §9) tidak dilaksanakan. Ia tidak akan menyentuh satu pun perkataan di atas. Lebih buruk lagi, istilah tajwid itu kata serapan Arab, dan §11.1 menetapkan ejaan Jawinya ialah ejaan Arab asal — peraturan pola Melayu akan menghasilkan ejaan fonetik yang salah untuk setiap satu, iaitu tepat di tempat ia paling merosakkan.
audit-jawi menggunakan enjin penukaran yang sama dengan jawi. Teks Rumi ditukar dahulu, kemudian dibandingkan. Ini penting kerana §14.1 dan §17.1 mengubah bilangan token: Murid ke sekolah ialah tiga perkataan Rumi tetapi dua perkataan Jawi. Perbandingan kedudukan yang naif akan melaporkan output alat ini sendiri sebagai salah.
Dengan cara ini hanya ada satu takrif "Jawi yang betul" dalam pakej, bukan dua yang boleh menyimpang.
Pengesahan pusingan penuh
Diuji terhadap 406 perkataan pelajaran Pendidikan Islam Tingkatan 4 sebenar, ditukar ke Jawi kemudian dipusingkan balik ke Rumi:
token asal 336 -> token pusing balik 336
padan tepat 314 (93%)
padan antara calon 22 (7%)
TIDAK padan 0 (0%)
Dua puluh dua kes kabur yang tinggal itu sah: قلقله boleh dibaca qalqalah atau kalkalah, dua ejaan Rumi yang sama-sama betul bagi istilah Arab yang sama. Alat melaporkan kedua-duanya dan tidak memilih.
Sifar perkataan hilang atau rosak.
Peraturan yang sengaja TIDAK dilaksanakan
Seksyen
Sebab
§7–§9 pola suku kata
Diuji terhadap dokumen sebenar: tiada kata Melayu biasa tercicir, jadi ia takkan bertindak. Yang tinggal ialah istilah serapan Arab, yang menurut §11.1 dieja ikut Arab asal — peraturan pola Melayu akan salah tepat di situ.
§19.3 akronim jadi huruf Jawi
§2.2 memetakan qaf dan kaf kedua-duanya kepada Rumi k. Bagi KPM, tiada apa dalam dokumen menentukan huruf mana. Akronim dilaporkan, tidak ditukar.
§12 serapan Inggeris
Kamus sudah meliputinya; tiada penjanaan diperlukan.
§16.2, §18
Tidak memerlukan kod: perbezaannya sudah dikodkan dalam jarak teks Rumi. Ada ujian yang mengunci tingkah laku ini.
Menyambung ke aplikasi
Kelajuan diukur pada 406 perkataan:
Keadaan
Masa
Semua dari cache
0.19 saat
Dua perkataan baharu (perlu rangkaian)
30.7 saat
Perbezaan itu menentukan cara ia disambung. Dalam laluan permintaan aplikasi, gunakan --luar-talian sentiasa. Mod itu tidak pernah menyentuh rangkaian: perkataan yang tiada dalam cache dilaporkan belum disahkan, bukan diambil secara segerak sambil pengguna menunggu.
Urutan yang disyorkan:
Panaskan cache di luar talian daripada kosa kata projek anda: npx prpm-dbp warm senarai.txt
Hantar cache itu bersama aplikasi (salin ~/.cache/prpm-dbp/cache.json, atau tetapkan PRPM_CACHE)
Jalankan dengan --luar-talian dalam laluan permintaan
Kumpul medan belumDisahkan dan panaskan cache secara berkala di luar talian
Dengan cara ini pengguna tidak pernah menunggu PRPM, dan PRPM tidak pernah menerima trafik daripada aplikasi anda.
Pengesahan bebas kodpoint
Keputusan lipatan kodpoint disahkan terhadap sumber kedua yang bebas: Kaedah Pembelajaran Jawi: Peringkat Asas (Haji Azman bin Haji Ahmad, Perpustakaan Negara Malaysia, 2015), Siri Ke-2 "Huruf Gubalan Melayu".
Huruf
Kodpoint
Keputusan pakej
ڤ p
U+06A4
bukan پ U+067E
ڽ ny
U+06BD
پ huruf berlainan, tidak pernah dilipat
ݢ g
U+0762
varian ڬ U+06AC dilipat
ک kaf Jawi
U+06A9
ك Arab U+0643 dilipat
Siri yang sama membezakan kaf Arab daripada kaf Jawi secara eksplisit, iaitu perbezaan yang menyebabkan PRPM dan KamusDBP kelihatan bercanggah.
Buku itu berhak cipta terpelihara (PNM). Ia dirujuk di sini sebagai pengesahan, bukan disalin.
Homograf
Ejaan Jawi menggunakan empat huruf vokal berbanding enam dalam Rumi, jadi perkataan berbeza kerap berkongsi ejaan. Diukur pada 64,251 ejaan Jawi dalam data: 2,009 (3%) ialah homograf.
Jenis kedua ialah Pedoman §8.17 (juga Klinik Jawi Siri ke-35): alif melambangkan [a] di suku kata tertutup untuk membezakannya daripada pepet yang tidak dilambangkan. Ejaan DBP sudah mengandungi peraturan ini, jadi pakej tidak perlu menjananya. Sembilan pasangan rujukan diuji, kesemuanya dibezakan dengan betul.
Istilah "hakiki" dan "tidak hakiki" tidak digunakan dalam pakej ini. Sumber pengajaran bercanggah tentang mana satu bermaksud apa: satu panduan menyatakan hakiki bermaksud tidak dibezakan dan dibenarkan kekal, satu lagi menyatakan hakiki bermaksud boleh diselesaikan dengan huruf saksi. Pakej melaporkan fakta yang boleh diperhatikan, iaitu ejaan Jawi ini dikongsi oleh perkataan-perkataan berikut, dan membiarkan pengelasan itu kepada guru.
Sebahagian homograf ejaan lama telah diselesaikan oleh ejaan baharu dengan menambah huruf vokal: tulang تولڠ dan tolong تولوڠ, tujuh توجوه dan tujah توجه. Pembezaan itu ada dalam ejaan yang kita ambil dan dikunci dengan ujian.
Jenis yang tinggal pula tidak boleh diselesaikan oleh mana-mana peraturan. Itulah sebab rumi melaporkan semua calon dan enggan memilih: bagi homograf hakiki, DBP sendiri menyatakan kekaburan itu dibenarkan dan hanya konteks ayat boleh menyelesaikannya.
--homograf menandakan perkataan yang ejaan Jawinya dikongsi, supaya penulis tahu sebelum menghantar bahawa pembaca akan bergantung pada konteks:
Empat kelas berasingan, kerana menggabungkannya menenggelamkan yang penting:
Medan
Maksud
bercanggah
ejaan benar-benar berbeza daripada PRPM
ejaanLama
berbeza hanya pada pasangan ortografi lama/baharu yang boleh dipetakan: ف→ڤ, ج→چ, ة→ه, ك→ک
homograf
dua kata Rumi dalam glosari berkongsi ejaan Jawi yang sama
mencurigakan
glosari sepadan dengan PRPM, tetapi huruf akhir PRPM sendiri tidak munasabah
homograf ialah satu-satunya kelas yang lolos senyap daripada semakan pasangan biasa: glosari boleh sepadan dengan PRPM dan tetap salah kerana ejaan itu dikongsi. اية sepadan dengan ayah dalam DBP, tetapi dalam teks al-Quran ia آية bermaksud ayat. Menerima DBP membuta di situ menghasilkan "menyatakan takrif ayah 1-5 Surah Al-Baqarah".
Penambahan huruf vokal tidak dikira ejaan lama. Kalau kehadiran ي diabaikan, بينا (bina) dan بنا (bena) akan kelihatan sama, sedangkan itu dua perkataan berlainan.
Ejaan bukan piawai DBP
Dokumen kurikulum Malaysia kerap menggunakan ortografi Jawi yang berbeza daripada piawai DBP. Pasangan yang disahkan daripada DSKP Pendidikan Islam KPM sebenar:
Rumi
DBP
DSKP
Beza
surah
سورة
سوره
ta marbutah jadi ha
iktibar
اعتبار
اعتبر
alif digugurkan
bersifat
برصيفت
برصفة
ya digugurkan, ta marbutah
dalil
دليل
داليل
alif ditambah
syirik
شيريک
شرك
ya digugurkan, kaf Arab
Kesemuanya berbeza hanya pada huruf vokal dan bentuk huruf, bukan pada rangka konsonan. --rangka memadan rangka itu:
Diukur pada 168 baris DSKP sebenar: token yang langsung tidak dikenali turun daripada 100 kepada 47.
Ini lapisan terakhir dan ia LOSSY. 29% rangka dikongsi lebih daripada satu perkataan, purata 4.1 calon. Ia hanya digunakan selepas padanan tepat gagal, hasilnya sentiasa berlabel ejaanBukanPiawai berserta ejaan DBP untuk perbandingan, dan ia tidak pernah memilih sendiri apabila calon berbilang.
Kegunaannya bukan menjadikan alat lebih longgar. Ia membezakan "ini surah, cuma dieja lain" daripada "saya tidak kenal benda ini" — dua keadaan yang dahulu keluar sama sebagai «...».
Kekaburan dalam teks domain
--pilih menggunakan kekerapan korpus. Dalam teks am ia betul hampir sentiasa. Dalam teks domain ia gagal tepat di tempat paling penting: setiap istilah khusus kalah kepada kata lazim yang berkongsi rangka konsonan.
Diukur pada DSKP KKQ/PQS: salah untuk 5 daripada 16 pasangan taksa, dan kelima-limanya ialah inti pelajaran.
اسم -> asam patut isim "hamzah wasal pada kalimah asam dan faal"
فعل -> faal patut fiil
رسم -> rasam patut Rasm (Uthmani)
سنة -> sanat patut sunah
Gunakan glosari domain. Ia mengatasi segalanya, termasuk lapisan 1:
Setiap penggunaan direkod dalam medan dariGlosari, jadi ia boleh diaudit. Bina glosari itu sekali untuk domain anda; ia lebih murah daripada membetulkan output berulang kali, dan ia menjadi rekod: siapa membenarkan istilah apa.
Kekerapan kekal sebagai pemecah seri sahaja, dan setiap keputusan tetap dilapor dalam kabur untuk semakan.
Rantai kepercayaan
Setiap ejaan Jawi yang dikeluarkan membawa asal-usulnya. Jangan runtuhkan lapisan ini.
Lapisan
Sumber
Status
1
PRPM DBP
rasmi
2
KamusDBP
rasmi
3
dataset diimport pengguna
komuniti, berlabel sumber: dataset
4
tekaan model
tidak pernah dibenarkan
Medan semuanyaDbp bernilai true hanya apabila setiap perkataan datang dari lapisan 1 atau 2. Untuk bahan yang akan dicetak atau diajar, semak medan itu.
Dataset lapisan 3 tidak dihantar bersama pakej kerana sebab lesen. Import sendiri:
npx prpm-dbp import-tsv rumi-jawi.tsv
Format: rumi<TAB>jawi setiap baris. Sumber yang diketahui: github.com/goodmami/rumi-jawi, 66k entri termasuk bentuk berimbuhan. Lesennya belum ditetapkan, jadi jangan edarkan semula tanpa menyemak dengan penyelenggaranya.
Sempang tidak pernah dinormalkan semasa import. abad (ابد) dan ab-ad (ابعاض) ialah perkataan berlainan. Menggabungkannya ialah punca sebenar ejaan salah dalam glosari yang dijana automatik.
Cara guna dalam kerja menulis
Bila menulis teks BM atau Jawi yang akan dihantar kepada orang:
Karang dalam Rumi dahulu, penuh dan siap.
audit teks Rumi itu. Perkataan yang tiada dalam PRPM biasanya salah eja atau istilah rekaan.
Untuk Jawi, ambil ejaan dari medan jawiRasmi dalam laporan audit. Jangan transliterasi sendiri.
Kalau Jawi sudah ditulis, audit-jawi bandingkan lawan Rumi sejajar.
Senaraikan apa-apa dalam belumDisahkan atau tiadaRujukan kepada pengguna, dengan pautan PRPM.
Tafsiran keputusan
Medan
Maksud
Tindakan
lulus / padan
ada dalam PRPM, ejaan sepadan
tiada
belumDisahkan
tiada entri dalam PRPM
semak ejaan, atau isytihar sebagai nama khas
salahEjaan
Jawi ditulis tidak sama dengan hasil penukaran
ganti dengan medan sepatutnya
tiadaRujukan
PRPM tiada ejaan Jawi untuk kata itu
kekalkan, tanda kepada pengguna
gagalSemak
rangkaian gagal
cuba semula, jangan anggap salah
Dua sumber DBP
Sumber
Guna untuk
Nota
PRPM (prpm.dbp.gov.my)
utama, semua perintah
liputan luas, banyak kamus, ada tesaurus dan peribahasa
KamusDBP (kamus.dbp.gov.my)
silang semak banding
definisi lebih moden, liputan lebih kecil
Keputusan banding:
Status
Maksud
Keyakinan
sepakat
dua sumber beri ejaan Jawi sama
tinggi
satu_sumber
satu ada, satu tiada entri
sederhana
bercanggah
dua sumber beri ejaan berbeza
rendah, medan jawi sengaja null
tiada_langsung
dua-dua tiada
rendah
Bila bercanggah, jangan pilih sendiri. Lapor dua-dua ejaan dengan pautan dan biar manusia putuskan.
Jangan banding medan sebutan. PRPM beri pemisahan suku kata (a.bad), KamusDBP beri transkripsi IPA (ɑ.bɑd). Dua-dua betul, cuma benda berlainan.
Nota teknikal
Endpoint: GET https://prpm.dbp.gov.my/Cari1?keyword=<kata>. Tiada auth, tiada VIEWSTATE, tiada JS. Browser automation tidak diperlukan.
PRPM balas HTTP 200 walaupun perkataan tiada dalam kamus. Status code tidak boleh dipercayai. Penanda sebenar ialah ketiadaan div.tab-pane.
Ejaan Jawi ada dalam <font class="cadr">, satu per tab kamus.
Kegagalan rangkaian tidak dicache. Hanya jawapan sebenar dicache.
Cache di ~/.cache/prpm-dbp/cache.json, boleh ubah dengan PRPM_CACHE.
Kandungan PRPM hak milik DBP. Skill ini untuk semakan dan rujukan. Jangan salin pukal kandungan kamus untuk diedar semula.