Translation
fxPanel supports 30+ languages for the in-game interface and chat messages.
Supported Languages
Translations cover the in-game menu, warning/ban messages, chat messages, and Discord notification text. The language is set globally in fxPanel Settings.
Custom Locales
If your language is not available, or you want to customize messages, you can create a custom locale file.
- Create a
locale.jsonfile inside thetxDatafolder, based on any existing language file from the repository. - Go to fxPanel Settings and select the "Custom" language option.
- Set the
$meta.humanizer_languagekey to a language code compatible with thehumanize-durationlibrary.
Quick Testing
Edit the locale.jsonfile and then click "Save Global Settings" in the settings page. Changes take effect immediately without restarting fxPanel or the server.
Performance Note
Custom locales on big servers may have reduced performance due to the way dynamic content is synced to clients. It is strongly encouraged that you contribute translations via GitHub so they get packed with fxPanel.
Validation
To verify your locale file has all required keys, clone the fxPanel repository, run npm i, move your locale.json into the locale/ folder, and run npm run locale:check.
Contributing
We rely on the community to keep translations updated and high-quality. To contribute a new translation or update an existing one:
- Create a custom locale file following the instructions above.
- Name the file using the ISO 639-1 language code (e.g.,
es.jsonfor Spanish). - The
$meta.labelmust be the language name in English (e.g., "Spanish" not "Español"). - Add the language to
shared/localeMap.tsin alphabetical order. - Test your changes in-game and take screenshots as evidence.
- Submit a Pull Request with the screenshots. An automatic check will run — make sure to read its output in case of any errors.