One of the most crucial steps in translating Jiki is determining the right terms to consistently use throughout. Generally these are technical terms, or terms used in the Jiki analogies. This is a thread, intended to go on forever, where we can highlight incorrect terms and agree correct variants.
This is the initial set of terms we propose for Indonesian. We will keep this list updated as we update it internally.
Terms we translate into Indonesian
These are terms where the Indonesian is used in prose. The “Clarify” column specifies whether terms get an English version in brackets on first use, e.g. “perulangan (loop)”. Split by theme for readability; every table below follows the same columns.
Values & data types
| English | Indonesian | Clarify? | Notes |
|---|---|---|---|
| value | nilai | no | Ordinary word. |
| number | angka | no | Use angka for the general sense; bilangan also appears but angka is the more natural default in tutorial prose. |
| character | karakter | no | Naturalized. |
| true / false | benar / salah | no | Used when explaining the concept; the literals True/False in code stay as code. |
| integer | bilangan bulat | yes | The keyword int in code stays English; the concept in prose is bilangan bulat. |
| float / decimal | bilangan pecahan | yes | Or bilangan riil if the real-number nature matters more than the fractional one. No single fixed official term; pick one per document and stay consistent. |
| element | elemen | no | Naturalized. |
| index | indeks | no | Naturalized; both index and indeks spellings are seen, but indeks is the Indonesian-orthography form. |
| key-value pair | pasangan kunci-nilai | no |
Functions & control flow
| English | Indonesian | Clarify? | Notes |
|---|---|---|---|
| condition | kondisi | no | Ordinary word; stands alone. |
| comparison | perbandingan | no | Ordinary word; stands alone. |
| expression | ekspresi | no | Naturalized. |
| operator | operator | no | Naturalized loan, identical spelling. |
| statement (executable) | pernyataan | yes | The imperative sense: a line of code that does something and gets executed. |
| statement (logical claim) | pernyataan | no | The proposition sense: a claim that is true or false. Same Indonesian word as the executable sense above; pick by context, English distinguishes these but Indonesian does not have a clean second word. |
| if statement | percabangan if |
yes | Keep the if keyword in code font; translate only “percabangan”. First use: percabangan if (if statement). |
| function | fungsi | yes | The keyword function in code stays English; the concept in prose is fungsi. |
| to call (a function) | memanggil (fungsi) | no | |
| to define (a function) | mendefinisikan / membuat (fungsi) | no | Either is natural; stay consistent within a document. |
| parameter | parameter | yes | Naturalized loan, identical spelling. First use: parameter (parameter) only needed if introducing alongside argumen; otherwise treat as self-explanatory. |
| argument | argumen | yes | Naturalized spelling (not argument). Distinguish from parameter on first joint use. |
| input (to a function) | input | (kept English) | Gloss masukan once on first use, then use input. |
| output | output | (kept English) | Gloss keluaran once on first use, then use output. |
| to return (a value) | mengembalikan | no | “Fungsi ini mengembalikan sebuah nilai.” |
| return value | nilai kembalian | no | Keep distinct from the verb above. |
Loops, state & program flow
| English | Indonesian | Clarify? | Notes |
|---|---|---|---|
| keyword | kata kunci | no | Ordinary compound; stands alone. |
| variable | variabel | yes | Real developers use variabel, not the official/academic coinage peubah (essentially unused outside textbooks). First use: variabel (variable). |
| assignment | assignment | (kept English) | Kept English in dev prose (memberikan nilai as a paraphrase is also fine for the verb, see below). Gloss pengisian nilai once on first use if using the noun. |
| to assign | memberikan nilai / menginisialisasi | no | Verb form; prefer this over a bare loanword. |
| code block | blok kode | yes | First use: blok kode (code block). |
| error | error | (kept English) | Kept in code/debugging contexts; use kesalahan when explaining the general concept in plain prose. Do not use galat (localization-standard term, but inconsistently applied even in official Indonesian software localization; avoid it here for consistency). |
| nested | bersarang | no | e.g. perulangan bersarang = nested loop. |
| iteration | iterasi | no | Naturalized; verb form mengiterasi is used but less common than just describing the loop. |
| to run / execute (code) | menjalankan | no | |
| loop | perulangan | yes | Real developers use perulangan, not the official coinage gelung (essentially unused). First use: perulangan (loop). |
| for loop | perulangan for |
yes | Keep the for keyword in code font; translate only “perulangan.” |
| while loop | perulangan while |
yes | As above, with while. |
| scope | scope | (kept English) | Gloss cakupan once on first use, then use scope. |
| class | class / kelas | no | Both forms are genuinely mixed in real Indonesian dev writing. Pick one per document and stay consistent within it; do not mix both in the same file. |
| method | method | (kept English) | Kept English in dev prose; metode (the formal/dictionary form) reads too formal for this context. |
| property | properti | no | Naturalized. |
| object | objek | no | Naturalized; object also appears but objek is the Indonesian-orthography default. |
Tooling & engineering
| English | Indonesian | Clarify? | Notes |
|---|---|---|---|
| workflow | alur kerja | yes | First use: alur kerja (workflow). |
| algorithm | algoritma | no | Naturalized, universal. |
| module | modul | no | Naturalized, universal. |
| auth (authentication / authorization) | autentikasi | no | Covers the login/identity sense; use otorisasi only when the permissions sense specifically is meant. |
| deploy | deploy | (kept English) | Kept English as a verb in dev prose (dominant real usage); gloss menerapkan once on first use. |
| tool / tooling | alat | yes | alat is the natural base word; tool/tools also appears as a loanword in casual developer prose. First use: alat (tool). |
Terms we keep in English
These stay in English in prose. Give the Indonesian gloss once on first use in a document.
| Term | Indonesian gloss (first use only) | Notes |
|---|---|---|
| string | untai | Official coinage exists (untai/untaian) but real developer prose keeps string. Mention untai once, then use string. |
| Boolean | (no gloss needed) | Naturalized as boolean, identical spelling; the official coinage logika is essentially unused. Lower-case in prose (boolean), capitalized only as the type name if the source capitalizes it. |
| scope | cakupan | See “Loops, state & program flow” above. |
| method | (see notes) | See “Loops, state & program flow” above; kept English with no separate gloss needed since metode would read overly formal even as a gloss. |
| component | komponen | komponen (naturalized spelling) is common enough that a gloss is optional; include on first use if the document is otherwise gloss-heavy. |
| API | explain what it is in Indonesian | Not a word a beginner knows; first use must explain the concept in Indonesian, not just gloss the acronym. |
| framework | (no gloss) | No established native alternative in real use; keep as-is throughout. |
| CLI | antarmuka baris perintah | First use: explain CLI as antarmuka baris perintah (command-line interface). |
| library | pustaka | library is dominant in real dev prose; pustaka sees genuine localization/academic use. Gloss once on first use, then use library. |
| JavaScript, Python, React | (no gloss) | Product/language names. |
| Debug, Test | (no gloss) | As keywords/technical tokens. |
| Code, Bug, Frontend, Backend | (no gloss) | |
| Variable and function names | (no gloss) | Never translated. |
CLI commands (npm install, git commit) |
(no gloss) | The commands themselves are never translated. |
Jikiscript / programming keywords (repeat, function, if, for, …) |
(no gloss) | Always English, including inside prose. Translate only the surrounding explanation. |
Jiki teaching metaphors
Load-bearing teaching terms. Use exactly the agreed rendering; never substitute dry technical language.
| English metaphor | Indonesian rendering | Notes |
|---|---|---|
| box (value container) | kotak | Plain, concrete Indonesian word for “box”. |
| chain (array metaphor) | rantai | Standard Indonesian for a physical chain. |
| input slot | lubang | The concrete, KBBI-backed word for “hole/opening”; more intuitive than the loanword slot. |
| return chute | perosotan | The everyday word for a playground slide, chosen for physical intuitiveness over the more formal, dictionary-correct luncuran. Mirrors the choice other languages make to pick the playful, concrete word over the technically precise one for this metaphor. |
| machine (function metaphor) | mesin | A function modelled as a machine, with an input slot (lubang) and a return chute (perosotan). |
| shelves (storage) | rak | The shelves where variables and functions are stored (e.g. rak buku = bookshelf). |
| whiteboard (a function’s internal notes) | papan tulis | Where a function keeps its instructions; standard Indonesian for a classroom whiteboard. |
Please use this thread to discuss any changes or additions you think should be made. Please do NOT use LLMs to generate suggestions and only use your own personal knowledge.