Skip to content

Localization

Localization

Every player-facing string — the interface, the target labels, the placement hint line, the notifications and the errors — runs through ox_lib's locale system. Translation files live in locales/*.json.

Set the language

server.cfg
setr ox:locale "tr"

It is a global convar, so every BUPA script on your server follows the same setting from one line.

Shipped languages

Code Language
en English (fallback)
de German
es Spanish
fr French
it Italian
nl Dutch
pl Polish
pt Portuguese
ru Russian
tr Turkish

English is always the fallback, so a key you leave out of a translation shows the English text rather than a raw key.

Key groups

Prefix Used for
ui_* The bag interface — headings, hints, the quantity prompt, buttons
target_* The third-eye options: Open weapon bag, Pick up bag
place_* The placement hint line, the rotation and height readout, and the blocked warning
slot_<id> One per entry in Config.Slots
cat_<category> One per category used by Config.CategoryRules or Config.DefaultCategory
notify_* Success notifications
err_* Every failure message

The placement hint

place_hint is the line shown along the bottom while a player is aiming the bag:

locales/en.json
"place_hint": "[E] Place   [X] Cancel   [Wheel] Turn   [↑↓] Height   [←→] Distance   [SHIFT] Fine   [G] Reset"

The keys themselves are not configurable, so keep them as they are and translate only the words around them.

If you add a pocket or a category to config.lua, add the matching slot_<id> or cat_<category> line to every locale file.

The locales/ folder is escrow-ignored, so it stays open for editing.