Locale API
Bunların hepsi bs_core/shared/sh_locale.lua dosyasından gelir. Bir resource’u çeviriye hazırlamak Diller sayfasında anlatılır. Bu sayfa referanstır.
Diller: en, pt, de, pl, tr, es, fr, it, ru. Eksik anahtarlar önce ene, sonra anahtarın kendisine düşer.
Dahil etme
Section titled “Dahil etme”shared_scripts { '@bs_core/shared/sh_locale.lua' }files { 'locales/*.lua' }Her locales/<lang>.lua düz bir tablo döndürür:
return { ['shop.title'] = 'Trader', ['shop.bought'] = 'You bought {item} for ${price}',}Placeholder’lar {name} biçimindedir. Bilinmeyen bir placeholder olduğu gibi bırakılır, böylece yazım hataları kaybolmaz, görünür.
Lua fonksiyonları
Section titled “Lua fonksiyonları”| Fonksiyon | Taraf | Ne yapar |
|---|---|---|
L(key, vars) | client | Yerel oyuncunun dilinde metin |
L(key, vars) | server | Sunucunun varsayılan dilinde metin |
L(src, key, vars) | server | O oyuncunun dilinde metin |
Lp(src, key, vars) | server | Yukarıdakiyle aynı, her zaman bir source alır |
BSLocale.T(lang, key, vars) | ikisi de | Belirttiğin dilde metin |
BSLocale.Lang() | ikisi de | Yerel oyuncunun dili (client) veya varsayılan (server) |
BSLocale.LangOf(src) | ikisi de | Bir oyuncunun dili, yoksa varsayılana düşer |
BSLocale.Default() | ikisi de | Sunucu varsayılanı (GlobalState.bs_defaultLang, yoksa en) |
BSLocale.IsValid(lang) | ikisi de | Dokuz koddan biri mi |
BSLocale.Dict(lang) | ikisi de | Altında en olan tüm tablo, NUI için |
BSLocale.OnChange(fn) | client | Dil değişince fn(lang) çalışır |
BSLocale.Set(lang) | client | bs_core’dan oyuncunun dilini değiştirmesini ister |
BSLocale.Languages, BSLocale.Native | ikisi de | Kod listesi ve yerel adlar |
Sunucu export’u: exports.bs_core:GetLanguage(src).
Metin tek bir oyuncuya gidiyorsa sunucuda her zaman oyuncunun source’unu ver. Source’suz L('key') sunucunun varsayılan dilini kullanır, bu da bir bildirim için yanlıştır.
TriggerClientEvent('bs:ui:notify', src, { type = 'success', message = L(src, 'shop.bought', { item = label, price = 50 }) })- Oyuncu seçimi: oyuncu üzerindeki
bs_langstate bag’i. - Sunucu varsayılanı:
GlobalState.bs_defaultLang(F1Global.defaultLanguageveyabs_defaultLanguageconvar’ı). - Hesap başına
bs_users.languageiçinde saklanır. - Değiştirmek
bs_core:setLanguagesunucu eventini tetikler.
Resource’un bir ui_pagei varsa locale betiği bs_i18n NUI callback’ine { lang, dict } ile yanıt verir ve dil değişince yeni tabloyu gönderir. Helper’ı yükle ve HTML’ini işaretle:
<script src="nui://bs_ui/html/js/i18n.js"></script><span data-i18n="ui.level">LEVEL</span>JS’te: t('key', vars) ve BSI18n.onChange(fn). Ayrıntılar Diller sayfasında.
bs19.org · Privacy · Terms · Cookie settings
Cookies and outside content
The site only needs two essential cookies to keep you logged in and protect forms. Videos and streams from YouTube and Twitch load from their servers, which can set their own cookies, so they stay off until you say yes. Nothing is pre-ticked and you can change your mind any time with "Cookie settings" at the bottom of every page. Details.
Questions about the server, the framework or the site? A real person reads this, usually within a day.