The game is in English, but it supports community translations. If you want to play in your own language — or share a translation with others — this page explains everything you need to know. No programming knowledge required.
Translations are managed directly through the game server. Do not manually create files in your lang/ folder, as the server will overwrite them. To contribute a translation, follow these steps in-game:
french).
The server will automatically save your work and send the .lng file to any player who switches to your language.
Each line in the file is one translation entry. The format is:
English text [=] Your translation
The left side is the original English text, exactly as it appears in the game.
The right side is your translation.
The [=] separator must have a space on each side.
Here are some simple examples:
You are hungry. [=] Acıktınız. Connected to server. [=] Sunucuya bağlandı. Game over. [=] Oyun bitti. Inventory [=] Envanter Settings [=] Ayarlar
The lookup is case-insensitive, so "hello", "Hello" and "HELLO" all match the same entry. You only need to write it once.
Many game messages contain values that change at runtime — a player's name,
a number, an item name. These are marked with %1, %2,
up to %9.
When you translate a line that has parameters, keep the same
%1, %2 markers in your translation.
You can change their order if your language needs it —
that is perfectly fine.
| English (original) | Turkish translation |
|---|---|
| You have %1 health. | %1 canınız var. |
| You found %1 coins. | %1 altın buldunuz. |
| %1 has joined the game. | %1 oyuna katıldı. |
| Round %1 of %2. | %2 turdan %1. tur. |
| You dealt %1 damage to %2. | %2 adlı düşmana %1 hasar verdiniz. |
Notice how in "Round %1 of %2" the Turkish translation swapped the order to "%2 turdan %1. tur" — that is completely allowed.
In the file it looks like this:
You have %1 health. [=] %1 canınız var. Round %1 of %2. [=] %2 turdan %1. tur. You dealt %1 damage to %2. [=] %2 adlı düşmana %1 hasar verdiniz.
%1 or %2 from your translation.
The game will insert the real value in its place at runtime.
If you drop it, the player will not see that value.
Some entries use %t1, %t2 instead of plain %1.
The "t" stands for translate.
It works exactly like a regular parameter, with one difference: the game will also look up that value in your translation file before inserting it. So if the value is a word you already translated (like a direction or a status), it gets translated automatically — you do not have to handle it separately.
The %t marker only goes on the left (English) side.
On the right (translated) side, always write plain %1, %2, etc.
Example — the game has these entries:
; Single word entries north [=] kuzey south [=] güney open [=] açık locked [=] kilitli ; Template entries that use those words You are moving %t1. [=] %1 yönüne ilerliyorsunuz. The door is %t1. [=] Kapı %1. %t1 Button [=] %1 Düğmesi
At runtime:
| Game sends | Player hears |
|---|---|
| You are moving north. | kuzey yönüne ilerliyorsunuz. |
| The door is locked. | Kapı kilitli. |
| Settings Button | Ayarlar Düğmesi (if "Settings [=] Ayarlar" exists) |
%t value is not in your translation file, it stays in English.
No error is thrown — the untranslated word just passes through as-is.
Lines starting with ; are comments. They are ignored by the game.
Use them to organize your file into sections so it is easier to maintain.
; ----------------------------------------------- ; COMBAT MESSAGES ; ----------------------------------------------- You hit the enemy. [=] Düşmana vurdunuz. The enemy missed. [=] Düşman ıskaladı. ; ----------------------------------------------- ; STATUS MESSAGES ; ----------------------------------------------- You are hungry. [=] Acıktınız. You are thirsty. [=] Susadınız.
; ----------------------------------------------- ; SINGLE WORDS ; ----------------------------------------------- yes [=] evet no [=] hayır ok [=] tamam cancel [=] iptal north [=] kuzey south [=] güney east [=] doğu west [=] batı open [=] açık closed [=] kapalı locked [=] kilitli ; ----------------------------------------------- ; MENU AND UI ; ----------------------------------------------- Settings [=] Ayarlar Inventory [=] Envanter Save [=] Kaydet Load [=] Yükle Quit [=] Çıkış ; ----------------------------------------------- ; FIXED SENTENCES ; ----------------------------------------------- You are hungry. [=] Acıktınız. You are thirsty. [=] Susadınız. Connection lost. [=] Bağlantı kesildi. Game saved. [=] Oyun kaydedildi. ; ----------------------------------------------- ; MESSAGES WITH VALUES (%1, %2) ; ----------------------------------------------- You have %1 health. [=] %1 canınız var. You found %1 coins. [=] %1 altın buldunuz. %1 has joined the game. [=] %1 oyuna katıldı. %1 has left the game. [=] %1 oyundan ayrıldı. Round %1 of %2. [=] %2 turdan %1. tur. You dealt %1 damage to %2. [=] %2 adlı düşmana %1 hasar verdiniz. %1 says: %2 [=] %1 şunu söylüyor: %2 ; ----------------------------------------------- ; MESSAGES WITH TRANSLATED VALUES (%t1, %t2) ; ----------------------------------------------- You are moving %t1. [=] %1 yönüne ilerliyorsunuz. The door is %t1. [=] Kapı %1. The door to the %t1 is %t2. [=] %1 kapısı %2. %t1 Button [=] %1 Düğmesi Pick up %t1? [=] %1 alınsın mı?
; ----------------------------------------------- ; SINGLE WORDS ; ----------------------------------------------- yes [=] sí no [=] no ok [=] aceptar cancel [=] cancelar north [=] norte south [=] sur east [=] este west [=] oeste open [=] abierta closed [=] cerrada locked [=] bloqueada ; ----------------------------------------------- ; MENU AND UI ; ----------------------------------------------- Settings [=] Configuración Inventory [=] Inventario Save [=] Guardar Load [=] Cargar Quit [=] Salir ; ----------------------------------------------- ; FIXED SENTENCES ; ----------------------------------------------- You are hungry. [=] Tienes hambre. You are thirsty. [=] Tienes sed. Connection lost. [=] Conexión perdida. Game saved. [=] Partida guardada. ; ----------------------------------------------- ; MESSAGES WITH VALUES (%1, %2) ; ----------------------------------------------- You have %1 health. [=] Tienes %1 puntos de vida. You found %1 coins. [=] Encontraste %1 monedas. %1 has joined the game. [=] %1 se unió al juego. %1 has left the game. [=] %1 abandonó el juego. Round %1 of %2. [=] Ronda %1 de %2. You dealt %1 damage to %2. [=] Causaste %1 de daño a %2. %1 says: %2 [=] %1 dice: %2 ; ----------------------------------------------- ; MESSAGES WITH TRANSLATED VALUES (%t1, %t2) ; ----------------------------------------------- You are moving %t1. [=] Te estás moviendo hacia el %1. The door is %t1. [=] La puerta está %1. The door to the %t1 is %t2. [=] La puerta del %1 está %2. %t1 Button [=] Botón %1 Pick up %t1? [=] ¿Recoger %1?
If the English line has %1, your translation must have it too.
The game replaces it with a real value at runtime.
Dropping it means the player will not see that number or name.
In the key (left side) you write %t1.
In your translation (right side) you always write plain %1.
Writing %t1 on the right side does nothing extra.
| Wrong | Correct |
|---|---|
| You are moving %t1. [=] %t1 yönüne ilerliyorsunuz. | You are moving %t1. [=] %1 yönüne ilerliyorsunuz. |
If the key says %t1 Button, the game will try to translate the word
that ends up in %t1. If you have not added that word to your file,
it stays in English.
So for "Settings Button" to become "Ayarlar Düğmesi",
you need both entries:
Settings [=] Ayarlar %t1 Button [=] %1 Düğmesi
Any line that is not in your file simply stays in English. You can start with the most important messages and add more over time.
The ; character at the start of a line makes it a comment.
Great for labeling sections or leaving notes about tricky translations.
When preparing your text in an external editor, ensure it is saved as UTF-8. This ensures that special characters (ş, ğ, ñ, etc.) are correctly preserved when you paste them into the game's "Update Data" server box.