PICO-8 icon

pico8-l10n

A tool to translate PICO-8 games.

PICO-8 is a virtual console for making, sharing and playing tiny games, that runs on Windows, Mac & Linux.
It's truly wonderful, amazing game creators released amazing PICO-8 games, and many of them are even free.
It currently does not allow to translate games though.

pico8-l10n is a free & open-source (FLOSS) tool aimed to feel this gap, and allow anyone (game creators or players), to translate their favorite PICO-8 games into other languages.

pico8-l10n is a CLI program written in Lua. It currently has been only tested under Linux & Windows, but I'd be very happy to have Mac users test it and give some feedback 😊

In addition to hosting the code for pico8-l10n, this repository also hosts some PICO-8 games translations, contributed by volunteers, and placed under under the CC-BY license.

The .p8.png PICO-8 game files are only hosted if the author gave us permission to do so.

You can contribute your own translations for your favorite games by following the instructions below.

If you have the translated .p8 or .p8.png PICO-8 game file, you can simply add it at a PICO-8 cartridge and launch it:


  $ cp vampire_vs_pope_army-0-fr-FR.p8.png ~/.lexaloffle/pico-8/carts/
  $ pico8 -run vampire_vs_pope_army-0-fr-FR.p8.png
      

If you don't have a translated .p8 or .p8.png game file, you can generate it using the pico-l10n command, the Gettext .po file corresponding to your language, and the original .p8 or .p8.png game file:


  $ pico8-l10n translate vampire_vs_pope_army-0.p8.png fr-FR
  vampire_vs_pope_army-0-fr-FR.p8.png successfully generated
      

You have 3 options:

You can install it with LuaRocks: luarocks install pico8-l10n.
LuaRocks is Lua package manager, it can be installed on Windows, Mac or Linux: Download page.

On Linux, you can also simply download the executable from the latest GitHub release:


  $ version=1.1.0
  $ wget https://github.com/Lucas-C/pico8-l10n/releases/download/1.1.0/pico8-l10n-$version-linux-x86-64
  $ mv pico8-l10n-$version-linux-x86-64 pico8-l10n
  $ chmod a+x pico8-l10n
  $ sudo mv pico8-l10n /usr/local/bin/
      

Finally, you can build it on your computer from the Lua source code, by performing a git clone of this repository and following the instructions on GitHub.

Maybe we could release an executable for Windows and/or Mac.
If you are interested about this, or even want to help, please open a GitHub discussion or issue 🙂

Translations are stored in standard Gettext .po files, that have a very simple structure:


  msgid "original text in game"
  msgstr "text translated"
      

The pico-l10n then use this file to perform text replacements in a given .p8 or .p8.png PICO-8 game file.

Requirement:
You must either have the PICO-8 game file in .p8 format,
or the game file in .p8.png format if you have bought PICO-8 and hence access to the pico8 command.

Then, you can initiate a .po file for this game file using pico8-l10n:


  $ pico8-l10n init vampire_vs_pope_army-0.p8.png fr-FR
  games/vampire_vs_pope_army/fr-FR.po successfully generated
      

Now you can edit this newly created .po file with your favorite text editor to translate all the text in it.


Once you have translated a PICO-8 file, you can submit it as a GitHub Pull Request so that your translation is published on this website.


If you do not know how to use all those tools, or you haven't bought PICO-8, you can still help translating games using only GitHub.

To do so, start by opening a GitHub issue requesting for a .po translation file to be initiated for a game you love.

Once the .po is created, you will be able to translate all the text in it (you can use GitHub online editor for that if you want), and then submit a Pull Request so that your translation is published on this website.

Where to get the pico8 command?
You need to buy PICO-8, and then you will get access to the pico8 command for Linux, Windows & Mac.

What does l10n means in pico8-l10n?
l10n is the abbreviation for "localization": the letter "L" followed by 10 letters then the letter "N" (cf. Wikipedia page).

Who made this?
Lucas Cimon in January of 2026.
I'm a French software engineer, libre software enthusiast, especially around the Lua & Python languages.
I also love games, and I even sometime create some.
There is my blog: Ludochaordic.

I have another question
You can open a GitHub discussion to ask it 😊.