Localization
Localization
BUPA Multicharacter ships with 31 languages. Every UI string and notification is translated through ox_lib's locale system, with translation files in locales/*.json.
Setting the language
Set the active language in server.cfg. This one convar drives both the ox_lib locale() calls and the NUI translations:
setr ox:locale "tr"Replace tr with any shipped code. English (en) is the reference locale — it is the source of truth and the fallback for any string a translation is missing.
Always set ox:locale explicitly. If it is left unset the UI and notification layers may not resolve to the same language, so pin it to the language you want.
Included languages
All 31 locale codes ship in locales/:
| Code | Language | Code | Language |
|---|---|---|---|
en |
English | it |
Italian |
tr |
Turkish | nl |
Dutch |
de |
German | pl |
Polish |
fr |
French | pt |
Portuguese |
es |
Spanish | ru |
Russian |
ar |
Arabic | ja |
Japanese |
he |
Hebrew | ko |
Korean |
zh-cn |
Chinese (Simplified) | zh-tw |
Chinese (Traditional) |
th |
Thai | id |
Indonesian |
The complete set also includes: al, cs, da, el, et, fi, hr, hu, lt, no, ro, sk, and sv.
Editing or adding translations
The locales/ folder is escrow_ignored, so you can freely edit the JSON files or add your own. Copy en.json, translate the values (keep the keys), and point ox:locale at your new code. Keep the JSON valid — a broken file falls back to English for the affected strings.