asideDevelopers
For game developers

Make your game easy to translate.

Fan translations bring a game to new players. A few habits in your scripts decide whether a translation takes a weekend or a month. Check your game, then show translators it is ready.

Translation ready, checked with Aside

Put it on your game page

HTML for itch.io and your site, Markdown for GitHub and Patreon posts, BBCode for forums.
The checklist

Is your game translation ready?

Tick what is true for your game. When all six are, the badge is yours. Aside helps you check the first two.

0 of 6

There is no review and no fee. The badge is a promise from you to translators, and it means the most when it is true.

Small habits

Four fixes that save translators days.

Mark texts kept in variables

The generator only sees strings marked with _(). Show the variable with !t, and Ren'Py looks up its translation.

# invisible to translators
$ chapter = "The Lighthouse"
# translatable
$ chapter = _("The Lighthouse")
"Chapter: [chapter!t]"   ← translated

Wrap texts shown from code

Notifications, input prompts and show text lines are not dialogue. Mark them, or they stay in your language in every translation.

$ renpy.notify(_("Item added"))
$ name = renpy.input(_("What is your name?"))
show text _("Three days later...")

One sentence, one string

Word order changes between languages. Joined pieces cannot be reordered; a whole sentence with a variable can.

"You found " + str(n) + " coins."   # can't be translated well
"You found [n] coins."              # can

Leave room, and a font switch

Translations often run longer. Keep spare space in the dialogue box, pick a font with accented letters, and let translators change it for their language.

translate czech style default:
    font "fonts/NotoSans-Regular.ttf"