YAPYAP Language API
This API allows to add more languages to YAPYAP.
This plugin enables community-created language support by loading external Vosk models and custom command mappings without modifying the base game.
Adding a New Language
Only two components are required:
- Vosk Model. Place the full Vosk model folder inside Models folder. Example: Models/vosk-model-small-nl-0.22/.
- Localisation File. Create a text file inside Localisation folder. Example: Localisation/dutch.txt
After adding both, register the language in languages.json
The plugin ships with Dutch support as an example implementation.
- Model: Models/vosk-model-small-nl-0.22/
- Localisation: Localisation/dutch.txt
Use this structure as a template when adding your own language.
Localisation File Format
Each line defines a command mapping.
Format: KEY :: word1-word2-word3
Example (Dutch):
SPELL_ARC_BLINK :: FLITS
SPELL_ARC_SWAP :: WISSEL
KEY = internal command identifier
Words separated by - are recognized trigger variations
languages.json Configuration
Each language must be declared inside languages.json.
Example:
{
"languages": [
{
"id": "dutch",
"displayName": "Nederlands (Community)",
"systemLanguage": "Dutch",
"modelFolder": "Models/vosk-model-small-nl-0.22",
"localisationFile": "Localisation/dutch.txt",
"fallback": "english"
}
]
}
Field Explanation
- id: Lowercase unique identifier for the language
- displayName: Name shown in the in-game language selection menu
- systemLanguage: Must match Unity’s SystemLanguage enum value
- modelFolder: Path (relative to plugins folder) to the Vosk model directory
- localisationFile: Path (relative to plugins folder) to the command mapping file
- fallback: Language ID used if loading fails
Requires: BepInEx 5
Made by: Shambuwu (GitHub)
How to Install
- Install BepInEx if it is not yet installed.
- Download and unzip YAPYAP Language API to YAPYAP\BepInEx\plugins
If you have any problems installing this or any other mod for YAPYAP, read this guide.




