Localization
Lokalizace
BUPA Chat je plně přeložitelný. Překlady jsou uloženy jako obyčejné soubory JSON v adresáři locales/, načítá je ox_lib (manifest deklaruje ox_lib 'locale') a čtou se přes wrapper t().
Dodávané jazyky
locales/*.json — deset jazyků již v základu:
| Kód | Jazyk | Kód | Jazyk |
|---|---|---|---|
en |
Angličtina | nl |
Nizozemština |
tr |
Turečtina | pl |
Polština |
de |
Němčina | pt |
Portugalština |
es |
Španělština | ru |
Ruština |
fr |
Francouzština | it |
Italština |
Každý řetězec v rozhraní, štítek kategorie, placeholder, popis animace a systémová zpráva se načítají z těchto souborů.
Výběr jazyka
Aktivní jazyk se nastavuje v souboru shared/config/core.lua:
config.lang = GetConvar("bupa-chat:locale", GetConvar("ox:locale", "en"))Pořadí vyhodnocení:
bupa-chat:locale— přepsání pro konkrétní resource pouze pro BUPA Chat.ox:locale— sdílený jazyk ox_lib používaný napříč vaším serverem.en— výchozí angličtina, pokud není nastaveno ani jedno.
setr ox:locale "tr" # jazyk pro celý server
setr bupa-chat:locale "en" # volitelně: vynutit angličtinu pouze pro chatPřepínání za běhu — bupa:changeLanguage
Jazyk hráče můžete změnit za chodu, v rámci relace, bez nutnosti restartu. Spusťte klientský event s kódem jazyka; BUPA Chat tento jazyk znovu načte přes ox_lib a odešle jej přímo do React UI:
TriggerEvent("bupa:changeLanguage", "de")Interně to volá funkci loadLang(newLang) (která přepne aktivní jazyk v ox_lib) a následně changeUiLang, takže se Lua část i uživatelské rozhraní aktualizují současně.
Přidání nebo úprava jazyka
Složka locales/ je v escrow_ignore, takže můžete JSON soubory přímo upravovat. Chcete-li přidat jazyk, zkopírujte en.json, přeložte hodnoty a uložte soubor jako <code>.json (např. sv.json), poté nastavte ox:locale nebo bupa-chat:locale na tento kód.
{
"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() (a locale() v ox_lib) vrací samotný klíč, pokud překlad chybí. Udržujte en.json kompletní jako referenční soubor a pro dynamické hodnoty používejte zástupné symboly %s / %d (např. "Reason: %s").