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 Polish. We will keep this list updated as we update it internally.
Terms we translate into Polish
These are terms where the Polish is used in prose. The “Clarify” column specifies whether terms get an English version in brackets on their first use, e.g. “instrukcja warunkowa (if statement)”. Split by theme for readability; every table below follows the same columns.
Values & data types
| English | Polish | Clarify? | Notes |
|---|---|---|---|
| value | wartość | no | Ordinary word. |
| number | liczba | no | Ordinary word. |
| integer | liczba całkowita | yes | The keyword int in code stays English. |
| float / decimal | liczba zmiennoprzecinkowa | yes | The keywords float/double in code stay English. |
| character | znak | yes | The keyword char in code stays English. |
| true / false | prawda / fałsz | no | Not capitalised in prose. The keywords true/false in code stay English. |
| array / list | tablica | yes | First use: tablica (array). The unrivalled Polish CS term; do not use łańcuch for this. |
| dictionary | słownik | yes | First use: słownik (dictionary). |
| element | element | no | Direct cognate. |
| index | indeks | no | Direct cognate. |
| string | ciąg znaków | yes | First use: ciąg znaków (string). Deliberately not łańcuch, to keep it distinct from the “chain” array metaphor below. |
| data type | typ danych | no | The general concept. |
Functions & control flow
| English | Polish | Clarify? | Notes |
|---|---|---|---|
| if statement | instrukcja warunkowa | yes | First use: instrukcja warunkowa (if statement). The keyword if stays English in code. |
| condition | warunek | no | Ordinary word; stands alone. |
| comparison | porównanie | no | Ordinary word; stands alone. |
| expression | wyrażenie | no | Distinct from instrukcja (a statement); an expression always evaluates to a value. |
| operator | operator | no | Direct cognate. |
| statement (executable) | instrukcja | yes | The imperative sense: a line of code that does something and gets executed. Keep distinct from wyrażenie (expression) and from the logical-claim sense below. |
| statement (logical claim) | zdanie / zdanie logiczne | no | The proposition sense: a claim that is true or false. Pick by meaning, not by the English word; never conflate with instrukcja. |
| function | funkcja | yes | The keyword function in code stays English; the concept in prose is funkcja. |
| to call (a function) | wywoływać / wywołać | no | |
| to define (a function) | definiować / zdefiniować | no | |
| parameter | parametr | yes | The declaration-site name. Keep distinct from argument even though Polish developers sometimes conflate the two informally; Jiki’s own writing keeps the textbook-correct distinction. |
| argument | argument | yes | The call-site value. See note on parametr above. |
| input (to a function) | dane wejściowe | yes | First use: dane wejściowe (input). |
| output | dane wyjściowe | yes | First use: dane wyjściowe (output). Where the specific value returned is meant, use wynik or wartość zwracana (see below) instead. |
| to return (a value) | zwracać / zwrócić | no | The verb; keep distinct from the noun below. |
| return value | wartość zwracana | no | The noun; fixed standard phrase. |
| pure function | funkcja czysta | yes | First use: funkcja czysta (pure function). |
Loops, state & program flow
| English | Polish | Clarify? | Notes |
|---|---|---|---|
| keyword | słowo kluczowe | yes | |
| variable | zmienna | yes | |
| assignment | przypisanie | yes | The noun; keep distinct from the verb below. |
| to assign | przypisać / przypisywać | no | The verb. |
| code block | blok kodu | no | Keep distinct from zakres (scope) below; they are related but not the same thing. |
| scope | zakres | yes | First use: zakres (scope). Keep distinct from blok kodu (code block); a block establishes a scope, it is not the same as one. |
| error | błąd | no | General error. Keep distinct from wyjątek (exception) below. |
| exception | wyjątek | yes | First use: wyjątek (exception). The specific catchable-error-object sense, distinct from błąd (a general error). |
| nested | zagnieżdżony / zagnieżdżona / zagnieżdżone | no | Agrees in gender/number with the noun it modifies, e.g. zagnieżdżona pętla = nested loop. |
| iteration | iteracja | no | |
| to run / execute (code) | uruchomić / uruchamiać | no | Use for launching a program. |
| element | zob. “Values & data types” | ||
| loop | pętla | yes | First use: pętla (loop). |
| for loop | pętla for |
no | Keep for in backticks (real keyword) + pętla. |
| while loop | pętla while |
no | As above. |
| for-of loop | pętla for...of |
no | As above; no independent Polish name exists for this construct. |
| loop body | ciało pętli | no |
Tooling & engineering
| English | Polish | Clarify? | Notes |
|---|---|---|---|
| increment | inkrementacja (noun) / inkrementować (verb) | yes | First use: inkrementacja (increment). |
| modulo / remainder operator | modulo | no | The % operator; modulo is a normal loanword in Polish too, not a code-switch. The result itself, in plain language, is reszta z dzielenia. |
| concatenation | konkatenacja (noun) / konkatenować, łączyć (verb) | yes | First use: konkatenacja (concatenation). Plain alternative: łączenie ciągów znaków. |
| toggle | przełączać / przełączenie (verb/noun), przełącznik (control) | no | Matches current Microsoft Polish UI terminology. |
| state / stateful | stan (noun) / stanowy, bezstanowy (adjective) | no | |
| class | klasa | no | Direct cognate. |
| method | metoda | no | Direct cognate. |
| property | właściwość | yes | First use: właściwość (property). Use pole or atrybut instead for a raw Java field, if that distinction matters in context. |
| object | obiekt | no | Direct cognate. |
| encapsulation | enkapsulacja | yes | First use: enkapsulacja (encapsulation). hermetyzacja is an equally legitimate native alternative; not used here, for consistency with how other cognate CS loanwords are handled. |
| workflow | (kept English) | (kept English) | See “Keep in English” below. |
| auth (authentication / authorization) | uwierzytelnianie (authentication) / autoryzacja (authorization) | no | Pick by meaning; the two concepts render differently in Polish. |
| deploy (verb: to deploy) | wdrożyć / wdrożenie, wdrażanie | no | |
| tool / tooling | narzędzie / narzędzia | no | “Tooling” as an abstract collective renders descriptively (e.g. ekosystem narzędzi) rather than as one fixed word. |
| module | moduł | no | Direct cognate. |
| algorithm | algorytm | no | Direct cognate. |
| edge case | przypadek brzegowy | no | |
| backwards compatibility | kompatybilność wsteczna | no | |
| component | komponent | no | Naturalised spelling, used consistently in general software writing and in frontend/React contexts. |
Terms we keep in English
These stay in English in prose. Give the Polish gloss once on first use in a document.
| Term | Polish gloss (first use only) | Notes |
|---|---|---|
| framework | framework has no established Polish equivalent; used as-is | No gloss needed beyond noting it is a framework/library ecosystem if the context doesn’t make it obvious. |
| API | interfejs programowania aplikacji | Not a term a beginner knows; first use must explain the concept in Polish, not just gloss the acronym. |
| workflow | przebieg pracy (descriptive gloss only, not a fixed term) | Confirmed by Poland’s own language authority (PWN) as having no settled Polish rendering for the dev/CI-CD sense; used as-is after a one-time descriptive gloss. |
| CLI (naming a specific tool) | interfejs wiersza poleceń | When explaining the general concept, translate fully as interfejs wiersza poleceń / wiersz poleceń; when naming a specific tool (e.g. “the Jiki CLI”), keep CLI. |
| 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 | Polish rendering | Notes |
|---|---|---|
| box (value container) | pudełko | Plain Polish word for “box”; direct and concrete. Neuter. |
| chain (array metaphor) | łańcuch | First use: pair it with tablica (the technical term for array), e.g. „tablica działa jak łańcuch (tablica)", so it doesn’t get read as a synonym for ciąg znaków (string), which some informal Polish programming material loosely calls “a chain of characters”. Masculine. |
| machine (function metaphor) | maszyna | Feminine. |
| input slot | otwór wejściowy | No established Polish pedagogical precedent for this compound; treat as a considered coinage, not an attested term. Flag for native-speaker review via /action-forum-post. |
| return chute | zsyp zwrotny | zsyp (a chute an object drops through, e.g. a laundry/garbage chute) fits a returned value better than zjeżdżalnia (a slide, which implies a person riding it). Coinage; flag for native-speaker review. |
| shelves (storage) | półki | Feminine. |
| whiteboard (a function’s internal notes) | notatnik | Chosen instead of the literal “whiteboard” (tablica), which is already the established Polish term for array and would collide with it directly. |
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.