Repository navigation
Languages
RiptOPL ships with English built in and can load additional interface languages from your storage device. This page is about installing and choosing one. If you want to translate RiptOPL, see the maintainer documentation in the repository instead.
English is compiled into the ELF and needs no files. It is also the fallback: if a language file is missing a particular string, that string appears in English rather than blank. You will never lose text by switching language.
New discovery order starts with PR #1017
Directly beside the ELF (CWD) and CWD/LNG lookup are introduced by
PR #1017.
They work only in builds containing that change. On older releases, use the
traditional enabled-device LNG/ folder or memory-card OPL directory.
The language files are published as a separate release asset, not inside the main package:
RIPTOPL-LANGS-*.zip
It contains the .lng language files and the non-Latin fonts some of them need. To install:
- Download
RIPTOPL-LANGS-*.zipfrom the release. - Extract it.
- For a build with CWD language support, put the selected
lang_<Name>.lngdirectly beside the launched RiptOPL ELF, or inside anLNG/directory beside it. The legacy deviceLNG/folder is also supported. - If the pack contains a matching
font_<Name>.ttfor.otf, copy that file into the same directory as the .lng.
Once PR #1017 is included in the build, language lookup has a defined priority order: launched ELF directory (CWD) → CWD/LNG/ → legacy memory-card OPL and enabled-device LNG/ folders. If the same language is installed in multiple places, only one entry is shown, and the highest-priority readable copy is selected. Available devices can still contribute languages during discovery; the CWD path is retried after boot-path resolution when the device was not initially readable.
These are alternatives, not folders to install three copies into:
mass0:/APPS/APP_RIPTOPL/
RIPTOPL.ELF
lang_French.lng
lang_Japanese.lng
font_Japanese.ttf
# OR:
mass0:/APPS/APP_RIPTOPL/LNG/
lang_French.lng
lang_Japanese.lng
font_Japanese.ttf
# OR, legacy device layout:
mass0:/LNG/
lang_French.lng
lang_Japanese.lng
font_Japanese.ttf
The language registry is dynamically sized in PR #1017 rather than capped at 15 external languages, so multiple installed packs no longer compete for a fixed fifteen-entry table.
The RIPTOPL-LANGS archive includes separate versioned language
subfolders. Copy the files inside the selected language subfolder;
do not nest the versioned directory itself under the destination.
The filename is the language name
A language file must be named lang_<Name>.lng. RiptOPL takes the text between
lang_ and .lng and shows exactly that in the language picker — so
lang_French.lng appears as French. Renaming the file renames the entry.
A language that needs characters the default font does not carry — Japanese, Chinese, Korean, Russian,
Greek or Arabic — can ship its own font beside it, named to match: font_<Name>.ttf or
font_<Name>.otf. RiptOPL loads it automatically when that language is selected, and returns
to the built-in font when you switch back to English. The RIPTOPL-LANGS pack already includes these
fonts. Serbian's is the Croatian font, because the built-in font has no č, ć or
đ and Serbian Latin uses the same letters as Croatian.
RiptOPL supports Unicode/CJK glyph fallback while leaving the interface language in English. Put font_CJK.ttf next to the active settings_riptopl.cfg and restart — not merely in LNG/. No toggle is needed. See the activation guide.
Settings → Interface → Language (also accessible from
General & System in supported layouts). The list contains English and
the discovered lang_*.lng files. Confirm the choice, then save settings.
Discovery happens as devices become available
If a device was not mounted at startup, wait for its source to initialize and reopen Settings. In PR #1017, CWD is retried after boot-directory resolution. Copying new files into a folder already scanned in this session generally requires restarting RiptOPL.
Two different things are called "language" in RiptOPL:
| Setting | What it changes |
|---|---|
| Language (Settings → Interface) | The language of RiptOPL's own menus. This page. |
| OSD Settings (Triangle on a game, or Game Launching → OSD Defaults) | The language, TV aspect and video mode written into EEPROM as a game boots — it changes what the game sees, not what RiptOPL shows. OPL core only; not available under Neutrino. See Per-game Settings. |
The language is not in the list. Confirm your build includes the
new CWD discovery feature if using files beside the ELF. Otherwise move the
language into a legacy LNG/ directory. Check the spelling
lang_<Name>.lng, the enabled device/source, and whether the
source has finished initializing. Restart if files were copied while RiptOPL
was already running.
The language appears but the text is boxes or blanks. The font is missing. Copy the matching
font_<Name>.ttf / .otf beside the matching language file — the language
pack zip contains the fonts alongside the language files.
Some strings are still English. That is an untranslated-entry fallback, not proof that your installation is broken. The current build includes 33 external language names, but only 33 fork translation overlays are present, including newly added Galician and Serbian support. Several recently added PS1, RetroAchievements, VMC, parental-lock and DVR messages remain English in many language packs. The number of selectable languages does not mean all menu strings have been translated. Recent translations were backfilled from RIPPS2 by Akilluminati47; community corrections and on-console language checks are still welcome. For contributors, see language maintenance and the coverage audit. A language pack from an older build can also lack the newest entries.
Match the language pack to the build
.lng files are read by line position, so a pack from a different build can show the
wrong text rather than falling back to English. If translated strings look mismatched or nonsensical,
download the language pack that goes with your build.
Detailed reference: Language maintenance.
Source: languages.html @ 32cd00fba166. Read on the documentation website.
Start here
Storage and networking
- USB, MX4SIO and iLink
- MMCE
- Internal HDD: APA and exFAT
- PSX DESR DVR (experimental)
- PC CARD CompactFlash (experimental)
- SMB shares
- Network boot: UDPFS and UDPBD
- HTTP
- NBD server
Games and features
- Game image formats: ISO, ZSO, CHD and CSO
- Neutrino core
- PS1: POPStarter and Ember
- Per-game settings
- Virtual memory cards
- GSM video modes
- In-game reset
- Cheats
- PADEMU
- RetroAchievements
- Apps
Interface and customization
- Settings reference
- Controls
- Coverflow
- Favorites
- Theme engine
- Languages
- Japanese / Unicode game titles
Help and reference
- Troubleshooting
- ZSO format
- Backward-compatible PS3
- Credits and sources
- Features in other forks
- Project overview
Detailed references
- Documentation index
- Test builds and diagnostics
- VMC creation and recovery
- PC CARD CF implementation reference
- DESR DVR implementation reference
- Per-game parental lock
- SIO2MAN hook compatibility
- Fresh-start defaults and saved settings
- APA hard disk safety and code 402
- Autolaunch and global settings
- Folders, parental lock and audio
- Language maintenance
- HTTP server conformance tools
- APA recovery tool