diff --git a/__resource.lua b/__resource.lua
index 1baf6c0a..e46bb7eb 100644
--- a/__resource.lua
+++ b/__resource.lua
@@ -1,8 +1,14 @@
server_scripts {
+ '@es_extended/locale.lua',
+ 'locales/en.lua',
+ 'locales/fr.lua',
'server/main.lua'
}
client_scripts {
+ '@es_extended/locale.lua',
+ 'locales/en.lua',
+ 'locales/fr.lua',
'config.lua',
'client/main.lua'
-}
\ No newline at end of file
+}
diff --git a/client/main.lua b/client/main.lua
index 423eb5b4..3938d12b 100644
--- a/client/main.lua
+++ b/client/main.lua
@@ -40,14 +40,14 @@ function OpenLSMenu(elems, menuname, menutitle, parent)
local found = false
for k,v in pairs(Config.Menus) do
if k == data.current.modType or isRimMod then
- if data.current.label == "Par défaut" or string.match(data.current.label, "Installé") then
- ESX.ShowNotification("Vous possédez déjà: ~b~" .. data.current.label)
+ if data.current.label == _U('by_default') or string.match(data.current.label, _U('installed')) then
+ ESX.ShowNotification(_U('already_own') .. data.current.label)
else
if isRimMod then
TriggerServerEvent("esx_lscustom:buyMod", data.current.price)
else
TriggerServerEvent("esx_lscustom:buyMod", v.price)
- end
+ end
end
menu.close()
found = true
@@ -64,7 +64,7 @@ function OpenLSMenu(elems, menuname, menutitle, parent)
if parent == nil then
lsMenuIsShowed = false
local vehicle = GetVehiclePedIsIn(GetPlayerPed(-1), false)
- FreezeEntityPosition(vehicle, false)
+ FreezeEntityPosition(vehicle, false)
myCar = nil
end
end,
@@ -122,16 +122,16 @@ function GetAction(data)
if v.modType ~= nil then
if v.modType == 22 then
- table.insert(elements, {label = " Par défaut", modType = k, modNum = false})
+ table.insert(elements, {label = " " .. _U('by_default'), modType = k, modNum = false})
else
- table.insert(elements, {label = " Par défaut", modType = k, modNum = -1})
+ table.insert(elements, {label = " " .. _U('by_default'), modType = k, modNum = -1})
end
if v.modType == 14 then -- HORNS
for j = 0, 51, 1 do
local _label = ''
if j == currentMods.modHorns then
- _label = GetHornName(j) .. ' - Installé'
+ _label = GetHornName(j) .. ' - '.. _U('installed') ..''
else
_label = GetHornName(j) .. ' - $' .. v.price .. ' '
end
@@ -141,7 +141,7 @@ function GetAction(data)
for j = 0, 4, 1 do
local _label = ''
if j == currentMods.plateIndex then
- _label = GetPlatesName(j) .. ' - Installé'
+ _label = GetPlatesName(j) .. ' - '.. _U('installed') ..''
else
_label = GetPlatesName(j) .. ' - $' .. v.price .. ' '
end
@@ -150,7 +150,7 @@ function GetAction(data)
elseif v.modType == 22 then -- XENON
local _label = ''
if currentMods.modXenon then
- _label = 'Xénon - Installé'
+ _label = 'Xénon - '.. _U('installed') ..''
else
_label = 'Xénon - $' .. v.price .. ' '
end
@@ -177,7 +177,7 @@ function GetAction(data)
for j = 1, 5, 1 do
local _label = ''
if j == currentMods.modHorns then
- _label = GetWindowName(j) .. ' - Installé'
+ _label = GetWindowName(j) .. ' - '.. _U('installed') ..''
else
_label = GetWindowName(j) .. ' - $' .. v.price .. ' '
end
@@ -195,7 +195,7 @@ function GetAction(data)
if modName ~= nil then
local _label = ''
if j == currentMods.modFrontWheels then
- _label = GetLabelText(modName) .. ' - Installé'
+ _label = GetLabelText(modName) .. ' - '.. _U('installed') ..''
else
_label = GetLabelText(modName) .. ' - $' .. v.price .. ' '
end
@@ -207,7 +207,7 @@ function GetAction(data)
for j = 0, modCount-1, 1 do
local _label = ''
if j == currentMods[k] then
- _label = 'Niveau ' .. j .. ' - Installé'
+ _label = 'Niveau ' .. j .. ' - '.. _U('installed') ..''
else
_label = 'Niveau ' .. j .. ' - $' .. v.price .. ' '
end
@@ -220,7 +220,7 @@ function GetAction(data)
if modName ~= nil then
local _label = ''
if j == currentMods[k] then
- _label = GetLabelText(modName) .. ' - Installé'
+ _label = GetLabelText(modName) .. ' - '.. _U('installed') ..''
else
_label = GetLabelText(modName) .. ' - $' .. v.price .. ' '
end
@@ -236,12 +236,12 @@ function GetAction(data)
elseif data.value == 'secondaryRespray' then
table.insert(elements, {label = Config.Colors[i].label, value = 'color2', color = Config.Colors[i].value})
elseif data.value == 'pearlescentRespray' then
- table.insert(elements, {label = Config.Colors[i].label, value = 'pearlescentColor', color = Config.Colors[i].value})
+ table.insert(elements, {label = Config.Colors[i].label, value = 'pearlescentColor', color = Config.Colors[i].value})
elseif data.value == 'modFrontWheelsColor' then
table.insert(elements, {label = Config.Colors[i].label, value = 'wheelColor', color = Config.Colors[i].value})
end
end
- else
+ else
for l,w in pairs(v) do
if l ~= 'label' and l ~= 'parent' then
table.insert(elements, {label = w, value = l})
@@ -298,12 +298,12 @@ Citizen.CreateThread(function()
end
end
- if IsControlJustReleased(0, 38) and not lsMenuIsShowed and isInLSMarker then
+ if IsControlJustReleased(0, 38) and not lsMenuIsShowed and isInLSMarker then
lsMenuIsShowed = true
local vehicle = GetVehiclePedIsIn(playerPed, false)
- --SetVehicleUndriveable(vehicle, true)
+ --SetVehicleUndriveable(vehicle, true)
FreezeEntityPosition(vehicle, true)
myCar = ESX.Game.GetVehicleProperties(vehicle)
@@ -335,4 +335,4 @@ end)
--_GET_LABEL_TEXT to get the part name in the games language
--local Veh = GetVehiclePedIsIn(GetPlayerPed(-1), true)
---local VehType = GetLabelText(GetDisplayNameFromVehicleModel(GetEntityModel(Veh)))
\ No newline at end of file
+--local VehType = GetLabelText(GetDisplayNameFromVehicleModel(GetEntityModel(Veh)))
diff --git a/config.lua b/config.lua
index 2866bc18..d81cefa3 100644
--- a/config.lua
+++ b/config.lua
@@ -1,14 +1,15 @@
Config = {}
Config.DrawDistance = 100.0
+Config.Locale = 'fr'
-Config.Zones = {
+Config.Zones = {
ls1 = {
Pos = { x = -362.7962, y = -132.4005, z = 38.25239},
Size = {x = 3.0, y = 3.0, z = 0.2},
Color = {r = 204, g = 204, b = 0},
Marker= 1,
Name = "LS CUSTOM",
- Hint = "Appuyez sur ~INPUT_PICKUP~ pour personnaliser le véhicule."
+ Hint = _U('press_custom')
}
}
@@ -31,7 +32,7 @@ Config.Colors = {
function GetColors(color)
local colors = {}
if color == 'black' then
- colors = {
+ colors = {
{ index = 0, label = 'Noir'},
{ index = 1, label = 'Graphite'},
{ index = 2, label = 'Noir Métallisé'},
@@ -41,10 +42,10 @@ function GetColors(color)
{ index = 15, label = 'Nuit Sombre'},
{ index = 16, label = 'Noir Profond'},
{ index = 21, label = 'Pétrol'},
- { index = 147, label = 'Carbon'}
+ { index = 147, label = 'Carbon'}
}
elseif color == 'white' then
- colors = {
+ colors = {
{ index = 106, label = 'Vanille'},
{ index = 107, label = 'Crème'},
{ index = 111, label = 'Blanc'},
@@ -54,10 +55,10 @@ function GetColors(color)
{ index = 122, label = 'Neige'},
{ index = 131, label = 'Coton'},
{ index = 132, label = 'Albâtre'},
- { index = 134, label = 'Blanc Pure'}
+ { index = 134, label = 'Blanc Pure'}
}
elseif color == 'grey' then
- colors = {
+ colors = {
{ index = 4, label = 'Argenté'},
{ index = 5, label = 'Gris Métallisé'},
{ index = 6, label = 'Acier Laminé'},
@@ -79,10 +80,10 @@ function GetColors(color)
{ index = 66, label = 'Acier Bleui'},
{ index = 93, label = 'Champagne'},
{ index = 144, label = 'Gris Chasseur'},
- { index = 156, label = 'Gris'}
- }
+ { index = 156, label = 'Gris'}
+ }
elseif color == 'red' then
- colors = {
+ colors = {
{ index = 27, label = 'Rouge'},
{ index = 28, label = 'Rouge Turin'},
{ index = 29, label = 'Coquelicot'},
@@ -98,16 +99,16 @@ function GetColors(color)
{ index = 44, label = 'Rouge Brillant'},
{ index = 46, label = 'Rouge Pale'},
{ index = 143, label = 'Rouge Vin'},
- { index = 150, label = 'Volcano'}
+ { index = 150, label = 'Volcano'}
}
elseif color == 'pink' then
- colors = {
+ colors = {
{ index = 135, label = 'Rose Electrique'},
{ index = 136, label = 'Rose Saumon'},
- { index = 137, label = 'Rose Dragée'}
- }
+ { index = 137, label = 'Rose Dragée'}
+ }
elseif color == 'blue' then
- colors = {
+ colors = {
{ index = 54, label = 'Topaze'},
{ index = 60, label = 'Bleu Clair'},
{ index = 61, label = 'Bleu Galaxy'},
@@ -137,17 +138,17 @@ function GetColors(color)
{ index = 141, label = 'Bleu Minuit'},
{ index = 146, label = 'Bleu Interdit'},
{ index = 157, label = 'Bleu Glacier'}
- }
+ }
elseif color == 'yellow' then
- colors = {
+ colors = {
{ index = 42, label = 'Jaune'},
{ index = 88, label = 'Jaune Blé'},
{ index = 89, label = 'Jaune Rally'},
{ index = 91, label = 'Jaune Clair'},
- { index = 126, label = 'Jaune Pale'}
- }
+ { index = 126, label = 'Jaune Pale'}
+ }
elseif color == 'green' then
- colors = {
+ colors = {
{ index = 49, label = 'Vert Foncé'},
{ index = 50, label = 'Vert Rally'},
{ index = 51, label = 'Vert Sapin'},
@@ -164,20 +165,20 @@ function GetColors(color)
{ index = 133, label = 'Vert Army'},
{ index = 151, label = 'Vert Sombre'},
{ index = 152, label = 'Vert Chasseur'},
- { index = 155, label = 'Amarylisse'}
+ { index = 155, label = 'Amarylisse'}
}
elseif color == 'orange' then
- colors = {
+ colors = {
{ index = 36, label = 'Tangerine'},
{ index = 38, label = 'Orange'},
{ index = 41, label = 'Orange Mat'},
{ index = 123, label = 'Orange Clair'},
{ index = 124, label = 'Pèche'},
{ index = 130, label = 'Citrouille'},
- { index = 138, label = 'Orange Lambo'}
+ { index = 138, label = 'Orange Lambo'}
}
elseif color == 'brown' then
- colors = {
+ colors = {
{ index = 45, label = 'Cuivre'},
{ index = 47, label = 'Marron clair'},
{ index = 48, label = 'Marron Foncé'},
@@ -202,7 +203,7 @@ function GetColors(color)
{ index = 116, label = 'Blond'},
{ index = 129, label = 'Gravillon'},
{ index = 153, label = 'Terre Foncé'},
- { index = 154, label = 'Désert'}
+ { index = 154, label = 'Désert'}
}
elseif color == 'purple' then
colors = {
@@ -213,7 +214,7 @@ function GetColors(color)
{ index = 142, label = 'Violet Mystique'},
{ index = 145, label = 'Violet Métallisé'},
{ index = 148, label = 'Vilot Mat'},
- { index = 149, label = 'Violet Profond Mat'}
+ { index = 149, label = 'Violet Profond Mat'}
}
elseif color == 'chrome' then
colors = {
@@ -229,7 +230,7 @@ function GetColors(color)
{ index = 159, label = 'Or Brossé'},
{ index = 160, label = 'Or Clair'}
}
- end
+ end
return colors
end
@@ -361,7 +362,7 @@ end
function GetNeons()
local neons = {
- { label = "white", r = 255, g = 255, b = 255},
+ { label = "white", r = 255, g = 255, b = 255},
{ label = "slate_gray", r = 112, g = 128, b = 144},
{ label = "blue", r = 0, g = 0, b = 255},
{ label = "light_blue", r = 0, g = 150, b = 255},
@@ -538,7 +539,7 @@ Config.Menus = {
wheelType = 7,
price = 500
},
- modFrontWheelsColor = {
+ modFrontWheelsColor = {
label = 'Peinture Jantes',
parent = 'wheels'
},
@@ -693,4 +694,4 @@ Config.Menus = {
price = 500
}
-}
\ No newline at end of file
+}
diff --git a/locales/en.lua b/locales/en.lua
new file mode 100644
index 00000000..e69bd5e6
--- /dev/null
+++ b/locales/en.lua
@@ -0,0 +1,23 @@
+Locales['en'] = {
+
+ ['by_default'] = 'by default',
+ ['installed'] = 'installed',
+ ['already_own'] = 'you already own: ~b~',
+ ['not_enough_money'] = 'you do not have enough money!',
+ ['purchased'] = 'purchased!',
+ ['press_custom'] = 'press ~INPUT_PICKUP~ to personalize your vehicle.',
+ ['black'] = 'black',
+ ['white'] = 'white',
+ ['grey'] = 'grey',
+ ['red'] = 'red',
+ ['pink'] = 'pink',
+ ['blue'] = 'blue',
+ ['yellow'] = 'yellow',
+ ['green'] = 'green',
+ ['orange'] = 'orange',
+ ['brown'] = 'brown',
+ ['purple'] = 'purple',
+ ['chrome'] = 'chrome',
+ ['gold'] = 'gold',
+
+}
diff --git a/locales/fr.lua b/locales/fr.lua
new file mode 100644
index 00000000..2617a8b8
--- /dev/null
+++ b/locales/fr.lua
@@ -0,0 +1,23 @@
+Locales['fr'] = {
+
+ ['by_default'] = 'par défaut',
+ ['installed'] = 'installé',
+ ['already_own'] = 'vous possédez déjà: ~b~',
+ ['not_enough_money'] = 'vous n\'avez pas assez d\'argent !',
+ ['purchased'] = 'achat effectué !',
+ ['press_custom'] = 'appuyez sur ~INPUT_PICKUP~ pour personnaliser le véhicule.',
+ ['black'] = 'noir',
+ ['white'] = 'blanc',
+ ['grey'] = 'gris',
+ ['red'] = 'rouge',
+ ['pink'] = 'rose',
+ ['blue'] = 'bleu',
+ ['yellow'] = 'jaune',
+ ['green'] = 'vert',
+ ['orange'] = 'orange',
+ ['brown'] = 'marron',
+ ['purple'] = 'violet',
+ ['chrome'] = 'chrome',
+ ['gold'] = 'or',
+
+}
diff --git a/server/main.lua b/server/main.lua
index 991c4ed9..26ebe2a7 100644
--- a/server/main.lua
+++ b/server/main.lua
@@ -8,10 +8,10 @@ AddEventHandler('esx_lscustom:buyMod', function(price)
price = tonumber(price)
if price > xPlayer.getMoney() then
TriggerClientEvent('esx_lscustom:cancelInstallMod', _source)
- TriggerClientEvent('esx:showNotification', _source, "Vous n'avez pas assez d'argent !")
+ TriggerClientEvent('esx:showNotification', _source, _U('not_enough_money'))
else
xPlayer.removeMoney(price)
TriggerClientEvent('esx_lscustom:installMod', _source)
- TriggerClientEvent('esx:showNotification', _source, "Achat effectué !")
+ TriggerClientEvent('esx:showNotification', _source, _U('purchased'))
end
end)