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)