How to change PhotoCraft's language
Switch PhotoCraft's interface to Chinese, Japanese, Korean or 14 other bundled languages without restarting, plus IME input tips and what stays in English.
To change PhotoCraft's language, open Edit › Preferences › Interface…, pick a language from Language, and click Apply or OK. Since v0.5.0 the interface switches straight away with no restart, and your open documents and undo history stay as they were. On macOS you can also use the Language submenu in the PhotoCraft app menu.
Supported languages
As of v0.6.0 (October 2026), the official builds include 17 interface languages. The language list shows each one in its own name:
| Language | Shown in the list as | Code | Added in |
|---|---|---|---|
| English | English | en | v0.1.0 |
| Japanese | 日本語 | ja | v0.3.0 |
| Simplified Chinese | 简体中文 | zh-hans | v0.3.0 |
| Traditional Chinese | 繁體中文 | zh-hant | v0.3.0 |
| Spanish | Español | es | v0.3.0 |
| Russian | Русский | ru | v0.3.0 |
| Czech | Čeština | cs | v0.3.0 |
| French | Français | fr | v0.5.0 |
| Indonesian | Bahasa Indonesia | id | v0.5.0 |
| Korean | 한국어 | ko | v0.5.0 |
| German | Deutsch | de | v0.5.0 |
| Portuguese (Brazil) | Português (Brasil) | pt-br | v0.5.0 |
| Italian | Italiano | it | v0.5.0 |
| Ukrainian | Українська | uk | v0.6.0 |
| Polish | Polski | pl | v0.6.0 |
| Greek | Ελληνικά | el | v0.6.0 |
| Dutch | Nederlands | nl | v0.6.0 |
v0.2.0 and earlier have no language setting. If you don't see one, update to the latest release.
Switch the language
Windows and Linux
- Open Edit › Preferences › Interface….
- Choose a language from Language. The Preferences dialog previews its own title, controls and buttons in that language.
- Click Apply to switch and keep the dialog open, or OK to switch and close it. Cancel throws the preview away.
The rest of the window updates on its next redraw. You don't need to restart, and PhotoCraft remembers your choice the next time it starts.
macOS
Since v0.5.0, PhotoCraft on macOS uses the native menu bar. The app menu (PhotoCraft) has a Language submenu that lists Auto and every language. The Preferences route above works on macOS too.
The web build
On the web build, including the online editor on this site, the interface opens in English because it doesn't follow the browser language. Chinese, Japanese and Korean can't be used there for now: their interface text shows as empty boxes (#1615), so stay with English. For a Chinese, Japanese or Korean interface, use the desktop app.
Auto: follow the system language
With no saved choice, the setting is Auto. PhotoCraft then picks the first supported language from your system's preferred UI languages:
- Windows: your Windows display languages, in order. The Region format setting for dates and numbers is not used.
- macOS: your preferred languages in System Settings.
- Linux/BSD: the usual locale environment, including the
LANGUAGElist.
Regional variants map to the closest catalogue. For example, zh-CN and zh-SG use Simplified Chinese, zh-TW, zh-HK and zh-MO use Traditional Chinese, and every Portuguese locale uses Brazilian Portuguese. If no language matches, you get English. A language you pick by hand always wins over Auto. Changes to the OS language list take effect the next time PhotoCraft starts.
To force a language for one launch, set the PHOTOCRAFT_LOCALE environment variable, for example PHOTOCRAFT_LOCALE=ja photocraft. An unsupported code falls back to English.
What stays in English
Every bundled language covers the menus, dialogs, panels, blend mode names and preference labels, and tests enforce that coverage. Some text is still English in every language:
- engine error and status messages
- automation output and command IDs (CLI, MCP, control channel)
- names you type yourself, such as document, layer and preset names
So a translated interface can still show an English error in the status bar. That is expected and isn't a translation bug.
Chinese, Japanese and Korean text input
Since v0.3.0, the Type tool accepts IME input and the interface can draw CJK text. The CJK font fallback relies on fonts installed on your system, so if characters show as empty boxes, install a CJK font family through your OS.
Known IME issues on Linux:
- Ubuntu with fcitx5 (#451, closed). Chinese input didn't work in v0.2.0. The reporter confirmed it works in v0.3.0. On some Wayland compositors, IMEs need the compositor's input-method protocols. If input still fails, the maintainers suggested testing under XWayland with
WAYLAND_DISPLAY= XMODIFIERS=@im=fcitx photocraft. - One key press repeating forever in text fields on Wayland (#585, closed). Fixed in v0.5.0.
- Selecting text with Ctrl+A, Shift+arrows or the mouse deletes it on Wayland (#1381, closed). Fixed in v0.6.0. On older versions, start PhotoCraft under XWayland with
WAYLAND_DISPLAY= photocraft.
More Linux fixes are in the troubleshooting guide.
Report a translation problem or help translate
Translations live in plain UTF-8 TSV files, one per language, in crates/ui-egui/src/i18n/ (for example zh-hans.tsv, ja.tsv, de.tsv). Each row holds a context, the English source text and the translation. Missing entries fall back to English.
- Wrong or awkward wording: open an issue on GitHub (or use Help › Report an Issue…). Name the language, the English text and where it appears. Better still, send a pull request that edits the TSV file.
- A new language: follow Add or maintain a catalog in
docs/localization.md. You add a TSV file, register it, and run the catalogue tests. - Simplified Chinese terms:
docs/localization-zh-hans.mdlists the agreed terminology.
Translations are contributed under the project's MIT OR Apache-2.0 license.
You don't need a "localized edition"
Every official installer already contains all the languages above. Repackaged "Chinese edition" installers, such as the third-party GitHub repository awpde/photocraft-zh, are not published by the PhotoCraft project. The official Windows installers are code-signed, and the macOS DMG is signed and notarized. A third-party build can't be checked the same way and may lag behind official releases. Download from the official GitHub releases and switch the language as described above.