Code Monkey home page Code Monkey logo

sunda.js's Introduction

Sunda.js

npm size madein

Sunda.js is a small library for converting/transliterating Latin into Sundanese script (Aksara Sunda Baku), or vice versa.

👀 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.

📖 Table of Contents

🚀 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!)

📦 Installation

NPM:

$ npm install sunda.js

Yarn:

$ yarn add sunda.js

⌨️ 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.

🔥 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.

🧰 TODO

  • support transliteration of Sundanese script back to Latin
  • support more punctuations from ancient Sundanese character (Bindu Surya, Bindu Panglong, etc)

📚 References

sunda.js's People

Contributors

masnormen avatar

Stargazers

Muhammad Ridwan Hakim avatar Ranti Maulidaningsih avatar Mustain avatar Agyar avatar Colin Wilson avatar Ian Cikal avatar Alfonsus Avianto Chandrawan avatar  avatar

Watchers

James Cloos avatar  avatar

Forkers

rescenic

sunda.js's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.