Localized programming language Citrine
Citrine-lang is a localized programming language, allowing you to write
apps and games in your native language.
Download Citrine
Join on Patreon
How does it work?
HINT: New to programming in general? Check out the Citrine Manual for beginners and experienced programmers.
1. Sentences
Citrine reads programs from top to bottom,
from the beginning of a sentence to the end. Each sentence ends with a period.
2. Variables
This is how you declare a variable in Citrine:
3. Messages
You create a program by sending messages to objects
(numbers, texts, booleans, sequences, etc.). The general notation is:
If the message has arguments, you mix them with the message as follows:
<object> <a>: <argument 1> <b>: <argument 2>Here, a and b are both part of the same message. If a message consists of just a single character and there is also just one single argument (like with '+ 3') you may omit the colon.
4. Commas
You can chain multiple messages together. If a message has arguments,
you must add a comma (,) if you want to send a follow-up message.
5. Tasks
You can group instructions by surrounding them with { and }.
This creates a task. You can also send messages to tasks.
For example you can send the message '* 3' to repeat a task
3 times.
At the beginning of the task you can add parameters (:i). With <- you return a response from a task. You can extend any object with new tasks by connecting them to a spefic message.
This guide is suitable for both beginners and
advanced. Learn programming in a playful way with Citrine!
Manual
|
API
FAQ
|
Source code
How to help translating
Is your native language not yet supported? Or do you see some errors in the translations?
Feel free to help us!
If you translate the two header files in the tarball below, I will release a new version of Citrine
in your language.
Download the Citrine translation C-header files.
There is a separate translation form available for the Media Plugin:
Translation Kit Media Plugin or on
github.
STEP 2: Open the translation files with a plain text editor, replace the
English words between the double quotes with your translation.
Notes:
- every translation must be unique, please do not use the same translation twice
- if a word consists of just one character, the transation should also consist of just one
character
- if a word consists multiple characters, the translation must also consist of multiple
characters (of course the number does not have to be the same)
Please, do not change any of the following character sequences:
%s
:
\n
So if the original text does NOT contain a colon, do not add one.
If the original text DOES contain a colon, do not remove that one.
STEP 3:
Send the new file to:
gabordemooij at gaborsoftware dot nl.
In your e-mail, please state the name of the language or dialect.
DONE!
Keep an eye on this website as a new Citrine version supporting your
language will appear soon!
Progress
- 0% = No translation yet
- 25% = Planned
- 50% = Machine Translation
- 75% = Verified
- 100% = Verified and Media plugin

















































































































If you see any errors related to the language names and countries please contact me. Citrine has very few grammar rules and can be very flexible to suit the needs of your native language. However if the base is not flexible enough for your language. Feel free to fork the Citrine project if you need language specific lexer logic (I will link to your project).