Awesome
Sunda.js
Sunda.js is a small library for converting/transliterating Latin into Sundanese script (Aksara Sunda Baku), or vice versa.
:eyes: Why this library?
Sunda.js is based off of my other project, Carakan.js, which is a transliterator library for Javanese script. After researching about the Sundanese script, I found that the Sundanese writing system is similar, and even a lot simpler than the Javanese one. Then, I realized that the same algorithm could be used to transliterate Latin into it. As I see that there's no library for transliterating Latin into Sundanese script yet (and vice versa), I decided to make one.
Sunda.js is also fast. It just needs around 2 milliseconds to convert a simple sentence.
:open_book: Table of Contents
- Sunda.js
:rocket: Features
Currently, Sunda.js can handle these features:
- Aksara Ngalagéna
- Aksara Ngalagéna for foreign sounds (f, q, v, x, z, kh, sy)
- Aksara Swara
- All rarangkén
- Angka
- ...and many more (see the code yourself!)
:package: Installation
NPM:
$ npm install sunda.js
Yarn:
$ yarn add sunda.js
:keyboard: Usage
Latin → Sundanese using toSundanese()
Basic example
import { toSundanese } from "sunda.js";
let x = toSundanese("Wih, geulis euy!");
console.log(x)
// => ᮝᮤᮂ, ᮌᮩᮜᮤᮞ᮪ ᮉᮚ᮪!
Writing basic vowels
let x = toSundanese("pa pi pu pe pé peu po p");
console.log(x)
// => ᮕ ᮕᮤ ᮕᮥ ᮕᮨ ᮕᮦ ᮕᮩ ᮕᮧ ᮕ᮪
Writing various Rerangkén
let x = toSundanese("Di Klatén, ada santri kyai tebang pohon buah pir");
console.log(x)
// => ᮓᮤ ᮊᮣᮒᮦᮔ᮪, ᮃᮓ ᮞᮔ᮪ᮒᮢᮤ ᮊᮡᮄ ᮒᮨᮘᮀ ᮕᮧᮠᮧᮔ᮪ ᮘᮥᮃᮂ ᮕᮤᮁ
Writing numbers
// pipe (|) will be automatically added around numbers
let x = toSundanese("tanggal 17 bulan 8 taun 1945");
console.log(x)
// => ᮒᮀᮌᮜ᮪ |᮱᮷| ᮘᮥᮜᮔ᮪ |᮸| ᮒᮅᮔ᮪ |᮱᮹᮴᮵|
Sundanese → Latin using toLatin()
Basic example
import { toLatin } from "sunda.js";
let x = toLatin("ᮝᮤᮂ, ᮌᮩᮜᮤᮞ᮪ ᮉᮚ᮪!");
console.log(x)
// => wih, geulis euy!
Detecting rerangkén when converting back to Latin
let x = toLatin("ᮓᮤ ᮊᮣᮒᮦᮔ᮪, ᮃᮓ ᮞᮔ᮪ᮒᮢᮤ ᮊᮡᮄ ᮒᮨᮘᮀ ᮕᮧᮠᮧᮔ᮪ ᮘᮥᮃᮂ ᮕᮤᮁ");
console.log(x)
// => di klatén, ada santri kyai tebang pohon buah pir
Writing numbers
// pipe (|) will be automatically removed from around numbers
let x = toLatin("ᮒᮀᮌᮜ᮪ |᮱᮷| ᮘᮥᮜᮔ᮪ |᮸| ᮒᮅᮔ᮪ |᮱᮹᮴᮵|");
console.log(x)
// => tanggal 17 bulan 8 taun 1945
Notes
- In Latin -> Sundanese transliteration, you can use either uppercase (capital) or lowercase. The result will be the same.
- In Sundanese -> Latin transliteration, pipe (|) immediately before and after numbers will be removed.
- Other than pipe (|), all characters that's not Sundanese or Latin character (like dot, comma, semicolon, etc) will be output as it is.
:fire: API
Sunda.js package exports four things: functions toSundanese()
& toLatin()
, and also namespace SundaHelper
and LatinHelper
which contains various helper.
toSundanese(input)
Returns a string of transliterated Sundanese script, given Latin input.
input
Type: string
A string of Latin character which will be transliterated into Sundanese script. For examples, see the above section.
toLatin(input)
Returns a string of transliterated Latin script, given Sundanese script input.
input
Type: string
A string of Sundanese character which will be transliterated into Latin script. For examples, see the above section.
SundaHelper
A namespace which contains various helper for the engine to convert Latin letters into Sundanese Script.
LatinHelper
A namespace which contains various helper for the engine to convert Sundanese letters into Latin Script.
:toolbox: TODO
- support transliteration of Sundanese script back to Latin
- support more punctuations from ancient Sundanese character (Bindu Surya, Bindu Panglong, etc)