diff --git a/fxmanifest.lua b/fxmanifest.lua index f4f5cc7..4ffd5bc 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -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', diff --git a/locale/ar.lua b/locale/ar.lua index d324072..d4243b5 100644 --- a/locale/ar.lua +++ b/locale/ar.lua @@ -17,15 +17,18 @@ local Translations = { received_paycheck = '$%{value} لقد استملت راتبك الشهري', job_info = '%{value} | %{value2} | %{value3}', gang_info = '%{value} | %{value2}', - on_duty = 'انت الان خارج الخدمة', - off_duty = 'انت الان في الخدمة', + on_duty = 'انت الان في الخدمة', + off_duty = 'انت الان خارج الخدمة', checking_ban = 'نحن نتحقق اذا كنت محجوب من السيرفر. %s مرحبا', join_server = '{Server Name} قي %s مرحبا', checking_whitelisted = 'نتحقق ما اذا كان مسموح لك بالدخول %s مرحبا ' } } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) +if GetConvar('qb_locale', 'en') == 'ar' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/bg.lua b/locale/bg.lua index 547139a..b2891f3 100644 --- a/locale/bg.lua +++ b/locale/bg.lua @@ -25,7 +25,10 @@ local Translations = { } } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) \ No newline at end of file +if GetConvar('qb_locale', 'en') == 'bg' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/cn.lua b/locale/cn.lua index b0dd4bb..19d23b7 100644 --- a/locale/cn.lua +++ b/locale/cn.lua @@ -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 diff --git a/locale/cs.lua b/locale/cs.lua index 616c13d..199faac 100644 --- a/locale/cs.lua +++ b/locale/cs.lua @@ -12,7 +12,11 @@ local Translations = { no_valid_license = 'Nebyla nalezena žádná platná Rockstar licence', not_whitelisted = 'Nejste na whitelistu' }, - success = {}, + success = { + server_opened = 'Server byl otevřen', + server_closed = 'Server byl uzavřen', + teleported_waypoint = 'Teleportováno na Waypoint.', + }, info = { received_paycheck = 'Obdrželi jste výplatu v hodnotě $%{value}', job_info = 'Práce: %{value} | Pozice: %{value2} | Ve službě: %{value3}', @@ -22,10 +26,94 @@ local Translations = { checking_ban = 'Ahoj %s. Kontrolujeme zda nejste zabanováni.', join_server = 'Vítejte %s na {Server Name}.', checking_whitelisted = 'Ahoj %s. Kontrolujeme zda máte přístup.' - } + }, + command = { + tp = { + help = 'Teleport k hráči nebo na souřadnice (Pouze Admin)', + params = { + x = { name = 'id/x', help = 'ID hráče nebo X pozice'}, + y = { name = 'y', help = 'Y pozice'}, + z = { name = 'z', help = 'Z pozice'}, + }, + }, + tpm = { help = 'TP Na Marker (pouze Admin)' }, + togglepvp = { help = 'Přepnutí PVP na serveru (Pouze Admin)' }, + addpermission = { + help = 'Udělení hráči oprávnění (God Pouze)', + params = { + id = { name = 'id', help = 'ID hráče' }, + permission = { name = 'permission', help = 'Úroveň oprávnění' }, + }, + }, + removepermission = { + help = 'Odeber hráči oprávnění (God Pouze)', + params = { + id = { name = 'id', help = 'ID hráče' }, + permission = { name = 'permission', help = 'Úroveň oprávnění' }, + }, + }, + openserver = { help = 'Otevři server pro všechny (Pouze Admin)' }, + closeserver = { + help = 'Uzavři server pro všechny bez práv (Pouze Admin)', + params = { + reason = { name = 'reason', help = 'Důdov pro uzavření (optimální)' }, + }, + }, + car = { + help = 'Spawn Vozidla (Pouze Admin)', + params = { + model = { name = 'model', help = 'Jméno modelu vozidla' }, + }, + }, + dv = { help = 'Odstraň vozidlo (Pouze Admin)' }, + givemoney = { + help = 'Dej hráči peníze (Pouze Admin)', + params = { + id = { name = 'id', help = 'ID hráče' }, + moneytype = { name = 'moneytype', help = 'Typ (hotovost, banka, krypto)' }, + amount = { name = 'amount', help = 'Počet peněz' }, + }, + }, + setmoney = { + help = 'Nastav hráči peníze (Pouze Admin)', + params = { + id = { name = 'id', help = 'ID hráče' }, + moneytype = { name = 'moneytype', help = 'Typ (hotovost, banka, krypto)' }, + amount = { name = 'amount', help = 'Počet peněz' }, + }, + }, + job = { help = 'Zkontroluj si práci' }, + setjob = { + help = 'Nastav hráči práci (Pouze Admin)', + params = { + id = { name = 'id', help = 'ID hráče' }, + job = { name = 'job', help = 'Jméno práce' }, + grade = { name = 'grade', help = 'Jméno hodnosti' }, + }, + }, + gang = { help = 'Zkontroluj si gang' }, + setgang = { + help = 'Nastav hráči gang (Pouze Admin)', + params = { + id = { name = 'id', help = 'ID hráče' }, + gang = { name = 'gang', help = 'Jméno gangu' }, + grade = { name = 'grade', help = 'Pozice v gangu' }, + }, + }, + ooc = { help = 'OOC Chat' }, + me = { + help = 'Ukaž zprávu', + params = { + message = { name = 'message', help = 'Zpráva k odeslání' } + }, + }, + }, } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) +if GetConvar('qb_locale', 'en') == 'cs' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/da.lua b/locale/da.lua index 8476592..ff5730c 100644 --- a/locale/da.lua +++ b/locale/da.lua @@ -25,7 +25,10 @@ local Translations = { } } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) \ No newline at end of file +if GetConvar('qb_locale', 'en') == 'da' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/de.lua b/locale/de.lua index 6efd915..feced89 100644 --- a/locale/de.lua +++ b/locale/de.lua @@ -25,15 +25,15 @@ local Translations = { }, info = { received_paycheck = 'Du hast dein Gehalt in Höhe von $%{value} erhalten', - job_info = 'Job: %{value} | Dienstgrad: %{value2} | im Dienst: %{value3}', + job_info = 'Beruf: %{value} | Dienstgrad: %{value2} | im Dienst: %{value3}', gang_info = 'Gang: %{value} | Rang: %{value2}', - on_duty = 'Du bist nun im Dienst!', - off_duty = 'Du bist nun nicht mehr im Dienst!', - checking_ban = 'Hallo %s. Wir checken, ob du gebannt wurdest.', - join_server = 'Willkommen %s zu {Server Name}.', - checking_whitelisted = 'Hallo %s. Wir checken deine Erlaubnis.', + on_duty = 'Du befindest dich nun im Dienst!', + off_duty = 'Du befindest dich nun nicht mehr im Dienst!', + checking_ban = 'Hallo %s. Wir prüfen, ob du gebannt wurdest.', + join_server = 'Willkommen %s bei {Server Name}.', + checking_whitelisted = 'Hallo %s. Wir prüfen deine Erlaubnis.', exploit_banned = 'Du wurdest fürs Cheaten gebannt. Meld dich auf dem Discord: %{discord}', - exploit_dropped = 'Du wurdest gekickt für das Ausnutzen von Fehlern', + exploit_dropped = 'Du wurdest gekickt, für das Ausnutzen von Fehlern', }, command = { tp = { @@ -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 diff --git a/locale/ee.lua b/locale/ee.lua index 8bd5da0..5d57f0f 100644 --- a/locale/ee.lua +++ b/locale/ee.lua @@ -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 diff --git a/locale/en.lua b/locale/en.lua index bb5d8c3..a41748e 100644 --- a/locale/en.lua +++ b/locale/en.lua @@ -118,7 +118,7 @@ local Translations = { }, } -Lang = Locale:new({ +Lang = Lang or Locale:new({ phrases = Translations, warnOnMissing = true }) diff --git a/locale/es.lua b/locale/es.lua index 93e4efd..0f3f8c2 100644 --- a/locale/es.lua +++ b/locale/es.lua @@ -8,15 +8,20 @@ local Translations = { company_too_poor = 'Tu empleador está en bancarrota', item_not_exist = 'El objeto no existe', too_heavy = 'No hay espacio en tu inventario', + location_not_exist = 'La ubicación no existe', duplicate_license = 'Licencia de Rockstar duplicada', no_valid_license = 'No tienes una licencia de Rockstar válida', not_whitelisted = 'No tienes acceso a este servidor', server_already_open = 'El servidor ya está abierto', - server_already_closed = 'El servidor ya está cerrado' + server_already_closed = 'El servidor ya está cerrado', + no_permission = 'No tienes permisos para esto..', + no_waypoint = 'No hay waypoint establecido.', + tp_error = 'Error mientras se teletransporta.', }, success = { server_opened = 'El servidor ha sido abierto', - server_closed = 'El servidor ha sido cerrado' + server_closed = 'El servidor ha sido cerrado', + teleported_waypoint = 'Teletransportado a punto de encuentro.', }, info = { received_paycheck = 'Has recibido tu salario de $%{value}', @@ -26,11 +31,97 @@ local Translations = { off_duty = '¡Estás fuera de servicio!', checking_ban = 'Hola %s. Estamos revisando la lista de baneos.', join_server = 'Bienvenid@ a {Server Name}, %s.', - checking_whitelisted = 'Hola %s. Estamos revisando si tienes acceso a nuestro servidor.' - } + checking_whitelisted = 'Hola %s. Estamos revisando si tienes acceso a nuestro servidor.', + exploit_banned = 'Has sido expulsado por hacer trampas. Consulta nuestro Discord para más información: %{discord}', + exploit_dropped = 'Has sido expulsado por hacer trampas', + }, + command = { + tp = { + help = 'TP al jugador o a las coordenadas (sólo para admin)', + params = { + x = { name = 'id/x', help = 'ID de jugador o posición X'}, + y = { name = 'y', help = 'Y posición'}, + z = { name = 'z', help = 'Z posición'}, + }, + }, + tpm = { help = 'TP al marcador (sólo para admin)' }, + togglepvp = { help = 'Activar el PVP en el servidor (sólo para admin)' }, + addpermission = { + help = 'Dar permisos al jugador (sólo modo Dios)', + params = { + id = { name = 'id', help = 'ID del jugador' }, + permission = { name = 'permission', help = 'Nivel de permiso' }, + }, + }, + removepermission = { + help = 'Eliminar los permisos de los jugadores (sólo modo Dios)', + params = { + id = { name = 'id', help = 'ID del jugador' }, + permission = { name = 'permission', help = 'Nivel de permiso' }, + }, + }, + openserver = { help = 'Abrir el servidor para todo el mundo (sólo para admin)' }, + closeserver = { + help = 'Cerrar el servidor para personas sin permisos (sólo para admin)', + params = { + reason = { name = 'reason', help = 'Motivo del cierre (opcional)' }, + }, + }, + car = { + help = 'Crear Vehículo (sólo para admin)', + params = { + model = { name = 'model', help = 'Nombre del modelo del vehículo' }, + }, + }, + dv = { help = 'Borrar vehículo (sólo para admin)' }, + givemoney = { + help = 'Dar dinero a un jugador (sólo para admin)', + params = { + id = { name = 'id', help = 'ID del jugador' }, + moneytype = { name = 'moneytype', help = 'Tipo de dinero (efectivo, banco, cripto)' }, + amount = { name = 'amount', help = 'Cantidad de dinero' }, + }, + }, + setmoney = { + help = 'Establecer la cantidad de dinero de los jugadores (sólo para admin)', + params = { + id = { name = 'id', help = 'ID del jugador' }, + moneytype = { name = 'moneytype', help = 'Tipo de dinero (efectivo, banco, cripto)' }, + amount = { name = 'amount', help = 'Cantidad de dinero' }, + }, + }, + job = { help = 'Compruebe su trabajo' }, + setjob = { + help = 'Establecer un trabajo de jugador (sólo para admin)', + params = { + id = { name = 'id', help = 'ID del jugador' }, + job = { name = 'job', help = 'Nombre del trabajo' }, + grade = { name = 'grade', help = 'Grado de trabajo' }, + }, + }, + gang = { help = 'Comprueba tu banda' }, + setgang = { + help = 'Establecer una banda de jugadores (sólo para admin)', + params = { + id = { name = 'id', help = 'ID del jugador' }, + gang = { name = 'gang', help = 'Nombre de la banda' }, + grade = { name = 'grade', help = 'Grado de banda' }, + }, + }, + ooc = { help = 'Mensaje del chat OOC' }, + me = { + help = 'Mostrar mensaje local', + params = { + message = { name = 'message', help = 'Mensaje a enviar' } + }, + }, + }, } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) +if GetConvar('qb_locale', 'en') == 'es' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/et.lua b/locale/et.lua index 98802c9..fb95250 100644 --- a/locale/et.lua +++ b/locale/et.lua @@ -8,11 +8,21 @@ local Translations = { company_too_poor = 'Teie tööandja on võlgades', item_not_exist = 'Asi ei eksisteeri', too_heavy = 'Inventuur on liiga täis', + location_not_exist = 'Asukoht ei eksisteeri', duplicate_license = 'Leiti Rockstari litsentsi duplikaat', no_valid_license = 'Kehtivat Rockstari litsentsi ei leitud', - not_whitelisted = 'Te ei ole selle serveri jaoks Allowlisted' + not_whitelisted = 'Te ei ole selle serveri jaoks Allowlisted', + server_already_open = 'Server on juba avatud', + server_already_closed = 'Server on juba suletud', + no_permission = 'Teil pole selleks õigusi..', + no_waypoint = 'Ühtegi punkti ei ole märgitud.', + tp_error = 'Teleportimise viga.', + }, + success = { + server_opened = 'Server on avatud', + server_closed = 'Server on suletud', + teleported_waypoint = 'Teleporteerusid punktile.', }, - success = {}, info = { received_paycheck = 'Saite oma palga $%{value}', job_info = 'Töö: %{value} | Auaste: %{value2} | Tööpostil: %{value3}', @@ -21,11 +31,97 @@ local Translations = { off_duty = 'Sa kirjutasid ennast töölt vabaks!', checking_ban = 'Tere %s. Me kontrollime, kas olete keelustatud.', join_server = 'Tere tulemast %s serverisse {Server Name}.', - checking_whitelisted = 'Tere %s. Kontrollime teie Allowlisti staatust.' - } + checking_whitelisted = 'Tere %s. Kontrollime teie Allowlisti staatust.', + exploit_banned = 'Olete saanud petmise eest mängukeelu. Lisateabe saamiseks vaadake meie Discordi: %{discord}', + exploit_dropped = 'Sind visati serverist välja petmise tõttu.', + }, + command = { + tp = { + help = 'TP mängijale või koordinaatidele (ainult administraator)', + params = { + x = { name = 'id/x', help = 'ID mängija või X positsioon'}, + y = { name = 'y', help = 'Y positsioon'}, + z = { name = 'z', help = 'Z positsioon'}, + }, + }, + tpm = { help = 'TP Markerile (ainult administraator)' }, + togglepvp = { help = 'PVP serveris sisse- ja väljalülitamine (ainult administraator)' }, + addpermission = { + help = 'Andke mängijale õigused (ainult jumal)', + params = { + id = { name = 'id', help = 'mängija ID' }, + permission = { name = 'permission', help = 'Permission level' }, + }, + }, + removepermission = { + help = 'Eemaldage mängija õigused (ainult jumal)', + params = { + id = { name = 'id', help = 'mängija ID' }, + permission = { name = 'õigused', help = 'Õiguse tase' }, + }, + }, + openserver = { help = 'Ava server kõigile (ainult administraator)' }, + closeserver = { + help = 'Sulgege server ilma õigusteta inimeste jaoks (ainult administraator)', + params = { + reason = { name = 'põhjus', help = 'Sulgemise põhjus (valikuline)' }, + }, + }, + car = { + help = 'Sõiduki loomine (ainult administraator)', + params = { + model = { name = 'mudel', help = 'Sõiduki mudeli nimi' }, + }, + }, + dv = { help = 'Sõiduki kustutamine (ainult administraator)' }, + givemoney = { + help = 'Mängija rahasumma määramine (ainult administraator)', + params = { + id = { name = 'id', help = 'Mängija ID' }, + moneytype = { name = 'rahatüüp', help = 'Raha liik (sularaha, pank, krüpto)' }, + amount = { name = 'kogus', help = 'Rahasumma' }, + }, + }, + setmoney = { + help = 'Mängija rahasumma määramine (ainult administraator)', + params = { + id = { name = 'id', help = 'Mängija ID' }, + moneytype = { name = 'rahatüüp', help = 'Raha liik (sularaha, pank, krüpto)' }, + amount = { name = 'kogus', help = 'Rahasumma' }, + }, + }, + job = { help = 'Kontrollige oma töödkohta' }, + setjob = { + help = 'Mängijale töökoha määramine (ainult administraator)', + params = { + id = { name = 'id', help = 'Mängija ID' }, + job = { name = 'töö', help = 'Töökoha nimi' }, + grade = { name = 'tase', help = 'Tüükoha tase' }, + }, + }, + gang = { help = 'Kontrollige oma grupeeringut' }, + setgang = { + help = 'Määra mängija grupeeringu (ainult administraator)', + params = { + id = { name = 'id', help = 'Player ID' }, + gang = { name = 'tase', help = 'Grupeeringu nimi' }, + grade = { name = 'tase', help = 'Grupeeringu tase' }, + }, + }, + ooc = { help = 'OOC vestlussõnum' }, + me = { + help = 'Kuva kohalikud sõnumid', + params = { + message = { name = 'sõnum', help = 'Sõnum saatmiseks' } + }, + }, + }, } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) +if GetConvar('qb_locale', 'en') == 'et' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/fa.lua b/locale/fa.lua index f163a8c..1367dac 100644 --- a/locale/fa.lua +++ b/locale/fa.lua @@ -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 diff --git a/locale/fi.lua b/locale/fi.lua index 6797b2c..b4e4939 100644 --- a/locale/fi.lua +++ b/locale/fi.lua @@ -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 diff --git a/locale/fr.lua b/locale/fr.lua index 534fca8..3e011c3 100644 --- a/locale/fr.lua +++ b/locale/fr.lua @@ -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 diff --git a/locale/ge.lua b/locale/ge.lua index 33b463a..e105039 100644 --- a/locale/ge.lua +++ b/locale/ge.lua @@ -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 diff --git a/locale/he.lua b/locale/he.lua index 7248f4b..fb84e7f 100644 --- a/locale/he.lua +++ b/locale/he.lua @@ -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 + diff --git a/locale/hu.lua b/locale/hu.lua index ca832ef..a0cd8b9 100644 --- a/locale/hu.lua +++ b/locale/hu.lua @@ -19,7 +19,10 @@ local Translations = { } } -Lang = Locale:new({ - phrases = Translations, - warnOnMissing = true -}) \ No newline at end of file +if GetConvar('qb_locale', 'en') == 'hu' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end diff --git a/locale/in.lua b/locale/in.lua index 3897291..ecb3403 100644 --- a/locale/in.lua +++ b/locale/in.lua @@ -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 diff --git a/locale/is.lua b/locale/is.lua index 4d956ba..8384930 100644 --- a/locale/is.lua +++ b/locale/is.lua @@ -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 diff --git a/locale/it.lua b/locale/it.lua index 99ad1d6..ea81719 100644 --- a/locale/it.lua +++ b/locale/it.lua @@ -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 diff --git a/locale/lv.lua b/locale/lv.lua index c7b4c38..fe4a9ab 100644 --- a/locale/lv.lua +++ b/locale/lv.lua @@ -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 diff --git a/locale/nl.lua b/locale/nl.lua index fd19d57..3d6e6bc 100644 --- a/locale/nl.lua +++ b/locale/nl.lua @@ -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 diff --git a/locale/no.lua b/locale/no.lua new file mode 100644 index 0000000..cc7694e --- /dev/null +++ b/locale/no.lua @@ -0,0 +1,127 @@ +local Translations = { + error = { + not_online = 'Spiller ikke online', + wrong_format = 'Ugyldig format', + missing_args = 'Ikke alle argumenter er lagt inn (x, y, z)', + missing_args2 = 'Alle argumenter må fylles ut!', + no_access = 'Ingen tilgang til denne kommandoen', + company_too_poor = 'Arbeidsgiveren din er blakk', + item_not_exist = 'Gjenstand finnes ikke', + too_heavy = 'Lommene er fulle', + location_not_exist = 'Plassering finnes ikke', + duplicate_license = 'Duplikat Rockstar-lisens funnet', + no_valid_license = 'Ingen gyldig Rockstar-lisens funnet', + not_whitelisted = 'Du har ikke tilgang til serveren', + server_already_open = 'Serveren er allerede åpen', + server_already_closed = 'Serveren er allerede stengt', + no_permission = 'Du har ikke tillatelser for dette..', + no_waypoint = 'Ingen veipunkt satt.', + tp_error = 'Feil under teleportering.', + }, + success = { + server_opened = 'Serveren er åpnet', + server_closed = 'Serveren er stengt', + teleported_waypoint = 'Teleporter til veipunkt.', + }, + info = { + received_paycheck = 'Du mottok lønnsslippen din på kr %{value}', + job_info = 'Jobb: %{value} | Grad: %{value2} | vakt: %{value3}', + gang_info = 'Gjeng: %{value} | Grad: %{value2}', + on_duty = 'Du er nå på vakt!', + off_duty = 'Du er nå av vakt!', + checking_ban = 'Hei %s. Vi sjekker om du er utestengt.', + join_server = 'Velkommen %s til {Server Name}.', + checking_whitelisted = 'Hei %s. Vi sjekker tilganger.', + exploit_banned = 'Du har blitt utestengt for juks. Sjekk vår Discord for mer informasjon: %{discord}', + exploit_dropped = 'Du har blitt sparket for utnyttelse', + }, + command = { + tp = { + help = 'TP til spiller eller koordinater (kun admin)', + params = { + x = { name = 'id/x', help = 'ID for spiller eller X-posisjon'}, + y = { name = 'y', help = 'Y posisjon'}, + z = { name = 'z', help = 'Z posisjon'}, + }, + }, + tpm = { help = 'TP Til Marker (kun admin)' }, + togglepvp = { help = 'Slå PVP på serveren (kun admin)' }, + addpermission = { + help = 'Gi spillertillatelser (Kun gud)', + params = { + id = { name = 'id', help = 'ID på spiller' }, + permission = { name = 'permission', help = 'Tillatelsesnivå '}, + }, + }, + removepermission = { + help = 'Fjern spillertillatelser (kun gud)', + params = { + id = { name = 'id', help = 'ID på spiller' }, + permission = { name = 'permission', help = 'Tillatelsesnivå' }, + }, + }, + openserver = { help = 'Åpne serveren for alle (kun admin)' }, + closeserver = { + help = 'Lukk serveren for personer uten tillatelser (kun admin)', + params = { + reason = { name = 'reason', help = 'Årsak til stenging (valgfritt)' }, + }, + }, + car = { + help = 'Spawn Vehicle (kun admin)', + params = { + model = { name = 'model', help = 'Modellnavn på kjøretøyet' }, + }, + }, + dv = { help = 'Slett kjøretøy (kun admin)' }, + givemoney = { + help = 'Gi en spiller penger (kun admin)', + params = { + id = { name = 'id', help = 'ID på spiller' }, + moneytype = { name = 'moneytype', help = 'Penge type (cash, bank, crypto)' }, + amount = { name = 'amount', help = 'Penge beløp' }, + }, + }, + setmoney = { + help = 'Angi spillerens pengebeløp (kun admin)', + params = { + id = { name = 'id', help = 'ID på spiller' }, + moneytype = { name = 'moneytype', help = 'Penge type (cash, bank, crypto)' }, + amount = { name = 'amount', help = 'Penge beløp' }, + }, + }, + job = { help = 'Sjekk din jobb' }, + setjob = { + help = 'Sett en spillerjobb (kun admin)', + params = { + id = { name = 'id', help = 'ID på spiller' }, + job = { name = 'job', help = 'Jobb navn' }, + grade = { name = 'grade', help = 'Jobb grad' }, + }, + }, + gang = { help = 'Sjekk din gjeng' }, + setgang = { + help = 'Sett en spillergjeng (kun admin)', + params = { + id = { name = 'id', help = 'ID på spiller' }, + gang = { name = 'gang', help = 'Gjeng navn' }, + grade = { name = 'grade', help = 'Gjeng grad' }, + }, + }, + ooc = { help = 'UAK Chat Melding' }, + me = { + help = 'Vis lokal melding', + params = { + message = { name = 'message', help = 'Melding å sende' } + }, + }, + }, +} + +if GetConvar('qb_locale', 'en') == 'no' then + Lang = Locale:new({ + phrases = Translations, + warnOnMissing = true, + fallbackLang = Lang, + }) +end \ No newline at end of file diff --git a/locale/pl.lua b/locale/pl.lua index 5e1704c..ab67f9b 100644 --- a/locale/pl.lua +++ b/locale/pl.lua @@ -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 diff --git a/locale/pt-br.lua b/locale/pt-br.lua index 9621437..782a4e8 100644 --- a/locale/pt-br.lua +++ b/locale/pt-br.lua @@ -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 diff --git a/locale/pt.lua b/locale/pt.lua index 0fc86a7..8cbfebf 100644 --- a/locale/pt.lua +++ b/locale/pt.lua @@ -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 diff --git a/locale/ro.lua b/locale/ro.lua index 162282f..d36cf65 100644 --- a/locale/ro.lua +++ b/locale/ro.lua @@ -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 diff --git a/locale/rs.lua b/locale/rs.lua index bf20832..4dc9dc7 100644 --- a/locale/rs.lua +++ b/locale/rs.lua @@ -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 diff --git a/locale/ru.lua b/locale/ru.lua index 762899e..a4e5167 100644 --- a/locale/ru.lua +++ b/locale/ru.lua @@ -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 diff --git a/locale/sl.lua b/locale/sl.lua index c9ed1ba..e1ead5c 100644 --- a/locale/sl.lua +++ b/locale/sl.lua @@ -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 diff --git a/locale/sv.lua b/locale/sv.lua index d43e289..2cad441 100644 --- a/locale/sv.lua +++ b/locale/sv.lua @@ -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 diff --git a/locale/th.lua b/locale/th.lua index c070c7a..f665d1f 100644 --- a/locale/th.lua +++ b/locale/th.lua @@ -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 diff --git a/locale/tr.lua b/locale/tr.lua index 51e50d7..9acc97e 100644 --- a/locale/tr.lua +++ b/locale/tr.lua @@ -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 diff --git a/locale/vn.lua b/locale/vn.lua index 94003d5..f3ae841 100644 --- a/locale/vn.lua +++ b/locale/vn.lua @@ -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 diff --git a/server/player.lua b/server/player.lua index 9ea25d8..cac2dfe 100644 --- a/server/player.lua +++ b/server/player.lua @@ -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 diff --git a/shared/items.lua b/shared/items.lua index b5f422c..77e80c0 100644 --- a/shared/items.lua +++ b/shared/items.lua @@ -380,7 +380,8 @@ QBShared.Items = { ['dendrogyra_coral'] = {['name'] = 'dendrogyra_coral', ['label'] = 'Dendrogyra', ['weight'] = 1000, ['type'] = 'item', ['image'] = 'dendrogyra_coral.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Its also known as pillar coral'}, ['antipatharia_coral'] = {['name'] = 'antipatharia_coral', ['label'] = 'Antipatharia', ['weight'] = 1000, ['type'] = 'item', ['image'] = 'antipatharia_coral.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Its also known as black corals or thorn corals'}, ['diving_gear'] = {['name'] = 'diving_gear', ['label'] = 'Diving Gear', ['weight'] = 30000, ['type'] = 'item', ['image'] = 'diving_gear.png', ['unique'] = true, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'An oxygen tank and a rebreather'}, - + ['diving_fill'] = {['name'] = 'diving_fill', ['label'] = 'Diving Tube', ['weight'] = 3000, ['type'] = 'item', ['image'] = 'diving_tube.png', ['unique'] = true, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['discription'] = 'An oxygen tube and a rebreather'}, + -- Other Tools ['casinochips'] = {['name'] = 'casinochips', ['label'] = 'Casino Chips', ['weight'] = 0, ['type'] = 'item', ['image'] = 'casinochips.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Chips For Casino Gambling'}, ['stickynote'] = {['name'] = 'stickynote', ['label'] = 'Sticky note', ['weight'] = 0, ['type'] = 'item', ['image'] = 'stickynote.png', ['unique'] = true, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Sometimes handy to remember something :)'}, diff --git a/shared/locale.lua b/shared/locale.lua index c24376c..ce7b2f5 100644 --- a/shared/locale.lua +++ b/shared/locale.lua @@ -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