mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-08-29 01:08:57 +00:00
Merge branch 'qbcore-framework:main' into main
This commit is contained in:
+2
-1
@@ -7,7 +7,8 @@ version '1.1.0'
|
||||
shared_scripts {
|
||||
'config.lua',
|
||||
'shared/locale.lua',
|
||||
'locale/en.lua', -- replace with desired language
|
||||
'locale/en.lua',
|
||||
'locale/*.lua',
|
||||
'shared/main.lua',
|
||||
'shared/items.lua',
|
||||
'shared/jobs.lua',
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'ar' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'bg' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'cn' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'cs' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'da' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -118,7 +118,10 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'de' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'ee' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+1
-1
@@ -118,7 +118,7 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
Lang = Lang or Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
|
||||
+7
-4
@@ -30,7 +30,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'es' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'et' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'fa' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'fi' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -120,7 +120,10 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'fr' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'ge' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+8
-4
@@ -118,7 +118,11 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'he' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'hu' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'in' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -118,7 +118,10 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'is' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -123,7 +123,10 @@ error = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'it' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'lv' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'nl' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'pl' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'pt-br' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'pt' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -115,7 +115,10 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'ro' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'rs' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -118,7 +118,10 @@ local Translations = {
|
||||
},
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'ru' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'sl' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'sv' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'th' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -25,7 +25,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'tr' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+7
-4
@@ -19,7 +19,10 @@ local Translations = {
|
||||
}
|
||||
}
|
||||
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true
|
||||
})
|
||||
if GetConvar('qb_locale', 'en') == 'vn' then
|
||||
Lang = Locale:new({
|
||||
phrases = Translations,
|
||||
warnOnMissing = true,
|
||||
fallbackLang = Lang,
|
||||
})
|
||||
end
|
||||
|
||||
+6
-6
@@ -297,8 +297,8 @@ function QBCore.Player.CreatePlayer(PlayerData, Offline)
|
||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
||||
end
|
||||
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, false)
|
||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "add")
|
||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "add")
|
||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "add", reason)
|
||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "add", reason)
|
||||
end
|
||||
|
||||
return true
|
||||
@@ -330,8 +330,8 @@ function QBCore.Player.CreatePlayer(PlayerData, Offline)
|
||||
if moneytype == 'bank' then
|
||||
TriggerClientEvent('qb-phone:client:RemoveBankMoney', self.PlayerData.source, amount)
|
||||
end
|
||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "remove")
|
||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "remove")
|
||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "remove", reason)
|
||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "remove", reason)
|
||||
end
|
||||
|
||||
return true
|
||||
@@ -350,8 +350,8 @@ function QBCore.Player.CreatePlayer(PlayerData, Offline)
|
||||
self.Functions.UpdatePlayerData()
|
||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'SetMoney', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') set, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
||||
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, math.abs(difference), difference < 0)
|
||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "set")
|
||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "set")
|
||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "set", reason)
|
||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "set", reason)
|
||||
end
|
||||
|
||||
return true
|
||||
|
||||
+10
-1
@@ -32,7 +32,13 @@ end
|
||||
--- @return Locale
|
||||
function Locale:new(opts)
|
||||
setmetatable(self, Locale)
|
||||
self.warnOnMissing = opts.warnOnMissing or true
|
||||
|
||||
self.fallback = opts.fallbackLang and Locale.new({}, {
|
||||
warnOnMissing = false,
|
||||
phrases = opts.fallbackLang.phrases,
|
||||
}) or false
|
||||
|
||||
self.warnOnMissing = type(opts.warnOnMissing) ~= 'boolean' and true or opts.warnOnMissing
|
||||
|
||||
self.phrases = {}
|
||||
self:extend(opts.phrases or {})
|
||||
@@ -98,6 +104,9 @@ function Locale:t(key, subs)
|
||||
if self.warnOnMissing then
|
||||
print(('^3Warning: Missing phrase for key: "%s"'):format(key))
|
||||
end
|
||||
if self.fallback then
|
||||
return self.fallback:t(key, subs)
|
||||
end
|
||||
result = key
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user