Localization
Lokalisering
BUPA Chat är fullt översättningsbar. Översättningar är enkla JSON-filer under locales/, som läses in av ox_lib (manifestet deklarerar ox_lib 'locale') och läses via t()-wrapperbiblioteket.
Medföljande språk
locales/*.json — tio språk direkt ur lådan:
| Kod | Språk | Kod | Språk |
|---|---|---|---|
en |
Engelska | nl |
Holländska |
tr |
Turkiska | pl |
Polska |
de |
Tyska | pt |
Portugisiska |
es |
Spanska | ru |
Ryska |
fr |
Franska | it |
Italienska |
Varje gränssnittssträng, kategorietikett, platshållare, emote-beskrivning och systemmeddelande laddas från dessa filer.
Välja språk
Det aktiva språket ställs in i shared/config/core.lua:
config.lang = GetConvar("bupa-chat:locale", GetConvar("ox:locale", "en"))Prioriteringsordning:
bupa-chat:locale— en resurspecifik åsidosättning enbart för BUPA Chat.ox:locale— det delade ox_lib-språket som används på din server.en— Engelska som reservalternativ om inget annat anges.
setr ox:locale "tr" # serveromspännande språk
setr bupa-chat:locale "en" # valfritt: tvinga engelska enbart för chattenÄndra språk i realtid — bupa:changeLanguage
Du kan ändra en spelares språk live, per session, utan omstart. Trigga klienteventet med en språkkod; BUPA Chat laddar om den språkfilen via ox_lib och skickar den direkt till React-gränssnittet:
TriggerEvent("bupa:changeLanguage", "de")Internt anropar detta loadLang(newLang) (vilket ändrar ox_libs aktiva språk) och sedan changeUiLang, så att både Lua-sidan och gränssnittet uppdateras samtidigt.
Lägga till eller redigera ett språk
locales/ ingår i escrow_ignore, så du kan redigera JSON-filerna direkt. För att lägga till ett språk kopierar du en.json, översätter värdena och sparar den som <code>.json (t.ex. sv.json), och pekar sedan ox:locale eller bupa-chat:locale mot den koden.
{
"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() (och ox_lib locale()) returnerar själva nyckeln om en översättning saknas. Håll en.json komplett som din referens, och använd %s / %d som platshållare för dynamiska värden (t.ex. "Reason: %s").