Skip to content

Latest commit

 

History

History
582 lines (510 loc) · 15.4 KB

README.en.md

File metadata and controls

582 lines (510 loc) · 15.4 KB

Kamus Banjar API

The goal of this project is to create an API for a Banjar-Indonesian dictionary, providing users with the ability to translate words from Banjar to Indonesian.

Read this in other languages: Bahasa Indonesia.

About the Banjar Language

One of the provinces on the island of Kalimantan is South Kalimantan (Kalsel). Almost the entire area of South Kalimantan is inhabited by Banjar people. The Banjar language (BB) serves as the lingua franca for the Banjar community and functions as their everyday communication tool.

The Banjar language is not only known in the South Kalimantan region but also in the coastal areas of Central Kalimantan (Kalteng) and East Kalimantan (Kaltim), and even in small parts of Sumatra, such as Muara Tungkal, Sapat, and Tambilahan.

The Banjar language has two dialects, namely Banjar Hulu Dialect and Banjar Kuala Dialect. Some phonemes and vocabulary in the Banjar Hulu Dialect (BBDH) bear similarities and resemblances to Indonesian (BI) despite their differing positions.

The similarity in phonemes and vocabulary between BBDH and BI, for example,

BI BBDH English
lambat lambat slow
kayu kayu wood
malam malam night
makan makan eat

The resemblance in phonemes and vocabulary between BBDH and BI, for example,

BI BBDH English
beri bari give
hari ari day
lubang luwang hole
meja mija table

Based on the observations above, both BBDH and BI recognize the vowels [a], [i], and [u]. Additionally, the similarity in expression leads to specific phonemes found in the vocabulary of BBDH and BI, for example, the meaning of hari (day) is written and pronounced as hari in BI while in BBDH it is pronounced as ari.

Apart from the points mentioned, there are differences between BBDH and BI as two distinct languages. For instance,

BI BBDH English
cantik bungas beautiful
mampu kawa capable
arah ampah direction
luas ligar wide

Most of the vocabulary found in BI is indeed not found in BBDH, and vice versa. Of course, the differences between BBDH and BI are countless, besides the similarities and resemblances that also cannot be ignored.

Alphabet and Spelling

Entries in this dictionary are arranged alphabetically, starting from base words, words with affixes, repeated words, and phrases (word combinations). Syllable segmentation is based on the General Guidelines for Indonesian Spelling, Enhanced Edition. It includes some examples of word usage, as well as a brief explanation of the phonology and morphology of BBDH. Letters included in parentheses (...) indicate that the letter is not used in BBDH writing. The alphabet is as follows,

  • a
  • b
  • c
  • d
  • (e)
  • (f)
  • g
  • h
  • i
  • j
  • k
  • l
  • m
  • n/ng-ny
  • (o)
  • p
  • (q)
  • r
  • s
  • t
  • u
  • (v)
  • w
  • y
  • (z)

Phonemes of the Banjar Language

Number
Types
Phonetic
Symbols
Spelling Examples of Use in Three Positions
Beginning Middle End
Vowel
1 [a] a abut `ribut` baang `azan` tatamba `obat`
2 [i] i isuk `besok` kipit `sempit` jariji `jemari`
3 [u] u umpat `ikut` juhut `tarik` sangu `bekal`
Diphthong Vowels
4 [au] aw - - silau `silau`
5 [ai] ay - saitan `setan` wadai `kue`
6 [ui] uy - - rupui `keropos`
Consonant
7 [p] p payu `laku` supan `malu` sumap `kukus`
8 [b] b balu `janda` hupan `uban` -
9 [t] t talu `tiga` matan `dari` kipit `sempit`
10 [d] d dawa `tuduh` padu `dapur` -
11 [c] c caluk `rogoh` pacang `bakal` -
12 [j] j jangkau `raih` jajak `injak -
13 [k] k katup `tutup` lakas `cepat` patak `kubur`
14 [g] g gampir `kembar` aga `gagap` -
15 [m] m muar `benci` ampun `milik` anum `muda`
16 [n] n nahap `mantap` kanas `nanas` karangan `pasir`
17 [ŋ] ng ngalih `susah` tangguh `tebak` lading `pisau`
18 [ɲ] ny nyiru `nyiru` hanyar `baru` -
19 [s] s surui `sisir` rasuk `cocok` batis `kaki`
20 [h] h halar `sayap` muha `muka` lapah `capek`
21 [l] l licak `becek` talah `habis` ganal `besar`
22 [r] r rumbis `bocor` sarak `cerai` kitar `geser`
23 [w] w wadah `tempat` kawa `mampu` -
24 [y] y yuta `juta` uyah `garam` -

Possessive Form

The term 'possessive form' here refers to the syllable structure in BBDH. The possessive form of base entries, affixes, or reduplication is as follows:

  • Base Entry

    V = Vokal (Vowel) | K = Konsonan (Consonant)

    Having two syllables:

    Arrangement Word
    VKV una 'sentuh'
    VKVK amun 'jika'
    KVKV saku 'mungkin'
    KVKVK tagal 'tetapi'
    KVKKVK limbui 'kuyup'

    Having three syllables:

    Arrangement Word
    KVKVKV wahini 'sekarang'
    KVKVKVK karukut 'cakar'
    KVKVKKV kalambu 'kelambu'
    KVKKVKV hintalu 'telur'
    KVKKVKVK tantaran 'jorang'
    KVKVKKVK karamput 'bohong'
    KVKKVKVK bungkalang 'keranjang buah'
  • Affixes

    The affix forms in BBDH consist of KV-, and -KVK, -VK, -V, -VKVK such as the prefixes ma-, ba-, ta-, sa-, ka-, pa-, for example:

    Affix Base Word Affixed Word
    ma- bari 'beri' mambari 'memberi'
    ba- jariji 'jemari' bajariji 'berjemari'
    ta- rumpak 'tabrak' tarumpak 'tertabrak'
    sa- bujur 'benar' sabujurnya 'sebenarnya'
    ka- handak 'pendek' kehandapan 'kependekan'
    pa- uncit 'terakhir' pauncitnya 'paling terakhir'

    The prefix ka-an signifies superlative meaning, for example:

    Affix Base Word Affixed Word
    ka-an handak 'ingin' kahandakan 'terlalu ingin'

    ta- can attach to verbs, adjectives, and nouns, for example

    Affix Base Word Affixed Word
    ta- pukul 'pukul' tapukul 'terpukul'
    ta- bungas 'cantik' tabungas 'lebih cantik'
    ta- unjun 'kail' taunjun 'terpancing'
    ta- akal 'akal' taakal 'lebih berakal'

    pa-+-nya and pa-+nasal+-nya both signify a superlative meaning, for example

    Affix Base Word Affixed Word
    pa-+-nya lambat 'lambat' palambatnya 'paling lambat'
    pa-+-nya pintar 'pintar' pamintarnya 'paling pintar'
    pa-+-nya dikit 'dikit' pandikitnya 'paling sedikit'
    pa-+-nya sabak 'berantakan' panyabaknya 'paling berantakan'
    pa-+-nya kurus 'kurus' pangurusnya 'paling kurus'

    and such as the suffixes: -an, -i, -akan, for example

    Affix Base Word Affixed Word
    -an bulik 'pulang' bulikan 'pada pulang'
    -i parak 'dekat' paraki 'dekati'
    -akan surui 'sisir' suruiakan 'sisirkan'
  • Reduplication

    The reduplication form in BBDH takes the form of dwipurwa or the repetition of part or all of the initial syllable of a word, for example

    Base Word Reduplication
    ranai 'diam' raranai 'diam-diam'
    handap 'pendek' hahandap 'pendek-pendek'

    In addition, there are some that must end with -an, thus having a plural meaning, for example

    Base Word Reduplication
    umpat 'ikut' uumpatan 'ikut-ikutan'
    ingat 'ingat' iingatan 'yang diingat-ingat'

Abbreviation

Abbreviation Expansion
a adjektiva
n nomina
pro pronomina
adv adverbia
v verba
p partikel

Prerequisite

This project is built using Go version 1.22.2, and it is expected to be developed using this specific version of Golang to ensure the desired outcome.

How to Run

  • Install project dependencies using the command go mod download.
  • Run the service using the command go run . or go run main.go.

How to Build

Execute the following command to build the binary:

go build -ldflags "-s -w" -o ./out .

Then you can run the service using the command ./out.

Usage

[GET] /api/v1/alphabets

Returning a list of alphabet information.

Success response

The response will be returned an JSON. For example:

{
  "code": 200,
  "data": [
    {
      "letter": "a",
      "total": 3
    }
  ],
  "message": "All alphabets successfully retrieved.",
  "status": "success"
}

Error response

The response will be returned as JSON in case of an error. For example:

{
    "code": 500,
    "message": "Internal Server Error",
    "status": "error"
}

[GET] /api/v1/alphabets/{letter}

Returning a list of Banjar words according to the given letter.

Parameters

Name Required Type Description
letter required param Alphabetic letter

Success response

The response will be returned an JSON. For example:

{
  "code": 200,
  "data": {
    "letter": "a",
    "total": 3,
    "words": [
      "abadan",
      "abah",
      "abat"
    ]
  },
  "message": "All words with letter 'a' successfully retrieved.",
  "status": "success"
}

Error response

The response will be returned as JSON in case of an error. For example:

{
  "code": 400,
  "message": "alphabet only has one character",
  "status": "error"
}

[GET] /api/v1/entries/{word}

Returning the definition and meaning according to the given Banjar word.

Parameters

Name Required Type Description
word required param Banjar word.

Success response

The response will be returned an JSON. For example:

{
  "code": 200,
  "data": {
    "word": "abah",
    "alphabet": "a",
    "meanings": [
      {
        "definitions": [
          {
            "definition": "ayah",
            "partOfSpeech": "n"
          },
          {
            "definition": "mertua laki-laki",
            "partOfSpeech": "n"
          }
        ]
      }
    ],
    "derivatives": [
      {
        "word": "baabah",
        "syllables": "ba.a.bah",
        "definitions": [
          {
            "definition": "berayah; menyebut ayah",
            "partOfSpeech": "v",
            "examples": [
              {
                "bjn": "inya kada baabah",
                "id": "dia tidak berayah"
              }
            ]
          }
        ]
      }
    ]
  },
  "message": "Definition of word 'abah' successfully retrieved.",
  "status": "success"
}

Error response

The response will be returned as JSON in case of an error. For example:

{
  "code": 404,
  "message": "the word is not found",
  "status": "error"
}

Reference

License

Kamus Banjar API is open-sourced software licensed under the MIT license.