Localization
Lokalisatie
BUPA Chat is volledig te vertalen. Vertalingen zijn eenvoudige JSON-bestanden in locales/, worden geladen door ox_lib (het manifest declareert ox_lib 'locale'), en worden uitgelezen via de t() wrapper.
Meegeleverde talen
locales/*.json — tien talen direct beschikbaar:
| Code | Taal | Code | Taal |
|---|---|---|---|
en |
Engels | nl |
Nederlands |
tr |
Turks | pl |
Pools |
de |
Duits | pt |
Portugees |
es |
Spaans | ru |
Russisch |
fr |
Frans | it |
Italiaans |
Elke UI-string, categorie-label, placeholder, emote-beschrijving en systeembericht wordt geladen vanuit deze bestanden.
De taal selecteren
De actieve taal wordt ingesteld in shared/config/core.lua:
config.lang = GetConvar("bupa-chat:locale", GetConvar("ox:locale", "en"))Volgorde van prioriteit:
bupa-chat:locale— een override per resource, specifiek voor BUPA Chat.ox:locale— de gedeelde ox_lib locale die voor je hele server wordt gebruikt.en— Engelse terugvaloptie (fallback) als geen van beide is ingesteld.
setr ox:locale "tr" # taal voor de hele server
setr bupa-chat:locale "en" # optioneel: forceer Engels alleen voor de chatLive wisselen — bupa:changeLanguage
Je kunt de taal van een speler live wijzigen per sessie, zonder een herstart. Trigger het client-event met een taalcode; BUPA Chat laadt die locale opnieuw via ox_lib en stuurt deze direct door naar de React UI:
TriggerEvent("bupa:changeLanguage", "de")Intern roept dit loadLang(newLang) aan (wat de actieve locale van ox_lib wijzigt) en vervolgens changeUiLang, zodat zowel de Lua-kant als de UI gelijktijdig worden geüpdatet.
Een taal toevoegen of bewerken
locales/ staat in escrow_ignore, dus je kunt de JSON direct bewerken. Om een taal toe te voegen, kopieer je en.json, vertaal je de waarden en sla je het op als <code>.json (bijv. sv.json). Stel vervolgens ox:locale of bupa-chat:locale in op die code.
{
"CATEGORY_COMMANDS_LABEL": "Commands",
"CATEGORY_COMMANDS_PLACEHOLDER": "Type a command...",
"CATEGORY_ADMIN_LABEL": "Admin Chat",
"EMOTE_ME_COMMAND_DESC": "Describe an action you are doing"
}t() (en ox_lib locale()) retourneert de sleutel zelf wanneer een vertaling ontbreekt. Zorg dat en.json compleet blijft als je referentie, en gebruik %s / %d placeholders voor dynamische waarden (bijv. "Reason: %s").