📚 The docs are live. The user manual → covers every screen and setting, and the extension docs → show you how to add a store we haven't.
Building an extension is simpler than it sounds, and the easiest route needs no code at all.

How to Change Game Language in the Decky Plugin

Set language environment variables per game in the Decky plugin’s Additional Variables field

The Decky plugin has no language menu, so you tell the game which language to use with environment variables.

Using Junk Store Pro? It has a proper language picker per game. See changing game language in Pro instead.

This only works for games that already have your language built in. Environment variables don't add language files, they change what the system reports its language as, and the game picks from what it already has. Check the game's store page on the Epic website to confirm it supports the language before you start.

It also only works on games that follow the system. A game with its own language menu ignores what the system says and uses whatever you last chose in there, so change it in the game's own options. These variables are for the games that offer you nothing.

  1. Open the game's Settings menu

    From the game's page in Junk Store, open the cog.

    A game's page in the Junk Store Decky plugin with the settings cog highlighted
  2. Select PROTON The configuration menu with PROTON selected
  3. Set the dropdown to All

    That reveals the advanced options, which are hidden by default.

    The Proton settings screen with the dropdown changed to All to reveal advanced options
  4. Enter both variables under ADVANCED

    Open ADVANCED, find Additional Variables, and enter both lines. This example sets Spanish:

    export HOST_LC_ALL=es_ES.UTF-8
    export LANG=es_ES.UTF-8

    Swap es_ES for the code you want from the table below. Both lines are needed, one on its own often isn't enough: LANG offers the game a default, while HOST_LC_ALL overrides the individual locale settings outright.

    Keep the word export on the front of each line. What you type is run as a line of script just before the game starts, and a plain LANG=es_ES.UTF-8 sets the value only for that script, not for the game that follows. It saves without complaint and does nothing, and nothing warns you. Advice copied from a forum post often leaves export off, because on a command line it isn't needed.

    The field shows only the start of what's in it, so a truncated export HOST_ is normal.

    The ADVANCED section of the Proton settings with Additional Variables highlighted, its field showing the start of the entry as export HOST_, above Additional Arguments, Custom Mesa ICD and Ignore EGS Arguments in launcher
  5. Save

    Press X to save. The game will launch in that language from then on, and stays that way until you change it, so it's a once-per-game job.


Language codes

Add .UTF-8 to whichever code you pick, the way the Spanish example does: es_ES becomes es_ES.UTF-8.

LanguageCode
Englishen_US
Germande_DE
Frenchfr_FR
Spanishes_ES
Italianit_IT
Japaneseja_JP
Koreanko_KR
Chinese (Simplified)zh_CN
Chinese (Traditional)zh_TW
Portuguese (Brazil)pt_BR
Polishpl_PL
Russianru_RU

If a game misbehaves afterwards

Empty the field first. A game handed a locale it didn't expect can show the wrong characters, lose its fonts, lay its menus out badly, or fail to start at all. Empty means "don't interfere", which is not the same as English.


Stuck or need help?

Most issues are quick to sort out. Here's where to start.

Still stuck? Open a support ticket right in the Support Portal

For game-specific issues, feedback, or just a chat, you'll find us on:

Discord Reddit Lemmy

On Discord, head to the #decky-plugin-support channel.