Skip to content

Convert Indonesian text from casual/informal to formal style. Suitable for official letters, professional emails, and formal reports.

License

Notifications You must be signed in to change notification settings

codenamekii/ID-auto-formalizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‡ฎ๐Ÿ‡ฉ Bahasa Indonesia Auto Formalizer

npm version License: MIT PRs Welcome

Konversi teks Bahasa Indonesia dari gaya kasual/informal menjadi formal. Cocok untuk surat resmi, email profesional, dan laporan formal.


โœจ Fitur

  • ๐Ÿ”„ 200+ mapping kata informal โ†’ formal
  • ๐Ÿ–ฅ๏ธ CLI support
  • ๐Ÿ”ค Auto kapitalisasi
  • โœ๏ธ Auto tanda baca
  • ๐Ÿ“Š Analisis tingkat formalitas
  • ๐Ÿ’ก Saran peningkatan formalitas
  • ๐Ÿš€ Batch processing file
  • ๐ŸŽฏ Ringan tanpa dependency berat

๐Ÿ“ฆ Instalasi

Sebagai CLI Tool (Global)

npm install -g id-auto-formalizer

Sebagai Library (Dalam Project)

npm install id-auto-formalizer

๐Ÿš€ Penggunaan

CLI

formalize text "gue mau nanya dong, lo udah selesai belom?"
# โ†’ Saya ingin bertanya, Anda sudah selesai belum?

formalize text "makasih ya udh bantuin" --analyze
# โ†’ Terima kasih sudah membantu.
# Skor Formalitas: 85% (Formal)

formalize text "gw cape bgt" --suggest

Mode Interaktif

formalize interactive
# atau
formalize i

File & Batch

formalize file input.txt -o output.txt
formalize batch -d ./documents -o ./formal_documents
formalize batch -d ./emails -e .eml -o ./formal_emails

Tambah Mapping Baru

formalize add-mapping "ngoding" "memprogram"
formalize stats

๐Ÿ“š Programmatic API

const { formalize } = require('id-auto-formalizer');

console.log(formalize("gue mau meeting sama lo besok pagi"));
// โ†’ Saya ingin meeting dengan Anda besok pagi.

Fitur Lanjutan

const IndonesianFormalizer = require('id-auto-formalizer');
const formalizer = new IndonesianFormalizer();

const result = formalizer.formalize("thanks ya udh bantu gue", {
  autoCapitalize: true,
  autoPunctuation: true
});

const analysis = formalizer.analyzeFormalityLevel("lo tau gak?");
console.log(analysis);
// { score: 25, level: 'Sangat Informal', informalWords: 2, totalWords: 3 }

const suggestions = formalizer.suggestImprovements("gw capek");

Tambah / Ekspor Mapping

formalizer.addMapping("ngoding", "memprogram");

formalizer.addMappings({
  "ngegame": "bermain game",
  "ngetweet": "menulis tweet",
  "kepo": "ingin tahu"
});

const allMappings = formalizer.exportMappings();

๐Ÿ“ Contoh Transformasi

Informal Formal
gue mau nanya dong Saya ingin bertanya
thanks ya udh bantuin Terima kasih sudah membantu
sorry gue telat, jalanan macet Maaf saya terlambat, jalanan macet
btw lo udah makan belom? Omong-omong, Anda sudah makan?
meeting nya kapan? gue lupa Meeting tersebut kapan? Saya lupa.
tolong kirim filenya asap ya Mohon kirim file tersebut segera.

๐Ÿ—บ๏ธ Roadmap

โœ… Fase 1: Fitur Dasar

  • Mapping 200+ kata
  • CLI interface
  • Auto kapitalisasi & tanda baca
  • Analisis formalitas
  • Batch processing

๐Ÿšง Fase 2: NLP Lanjutan

  • Transformasi kontekstual
  • Perbaikan struktur kalimat
  • Deteksi akronim & singkatan

๐Ÿ“‹ Fase 3: Integrasi & UI

  • REST API
  • Web UI
  • Ekstensi VS Code & Chrome

๐ŸŒ Fase 4: Komunitas & Dataset

  • Dataset publik
  • Crowdsourcing mapping
  • Dukungan bahasa daerah

๐Ÿค Kontribusi

Menambah Mapping

  1. Fork repo ini
  2. Edit src/formalizer.js
  3. Tambah ke informalToFormal:
this.informalToFormal = {
  // ...
  'kata_gaul': 'kata_baku',
};
  1. Kirim pull request

Kontribusi lainnya:

  • Laporkan bug
  • Usulkan fitur baru
  • Bantu dokumentasi

๐Ÿ”ง Development

git clone https://github.com/codenamekii/id-auto-formalizer.git
cd id-auto-formalizer

npm install
npm test
npm run lint
npm run dev

๐Ÿ“„ API Reference

Class: IndonesianFormalizer

formalize(text, options)

  • text: string
  • options: { autoCapitalize, autoPunctuation }

analyzeFormalityLevel(text)

โ†’ { score, level, informalWords, totalWords }

suggestImprovements(text)

โ†’ array of suggestions

addMapping(informal, formal)

addMappings({ informal: formal })

exportMappings()


๐Ÿ“Š Dataset Sumber

  • Kamus Besar Bahasa Indonesia (KBBI)
  • Dataset publik Twitter Indonesia
  • Forum & platform chat lokal
  • Kontribusi komunitas

๐Ÿ“œ Lisensi

MIT โ€” lihat LICENSE


๐Ÿ”— Link


Membantu kamu menulis Bahasa Indonesia yang baik dan benar ๐Ÿ‡ฎ๐Ÿ‡ฉ

About

Convert Indonesian text from casual/informal to formal style. Suitable for official letters, professional emails, and formal reports.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published