gemification_admin bekötve

This commit is contained in:
Roo
2026-06-30 08:56:55 +00:00
parent df4a0f07ff
commit cbfb955580
313 changed files with 18490 additions and 2895 deletions

View File

@@ -2558,109 +2558,417 @@ var garages$1 = {
no_fleet_access: "Nincs jogosultságod a flotta adatok megtekintéséhez."
}
};
var users$1 = {
title: "Felhasználó Kezelés",
subtitle: "Felhasználók listája, keresés, szűrés és tömeges műveletek",
loading: "Felhasználók betöltése...",
retry: "Újra",
search_placeholder: "Keresés email, név vagy telefonszám alapján...",
all_statuses: "Összes státusz",
status_active: "Aktív",
status_inactive: "Inaktív",
status_deleted: "Törölt",
status_banned: "Kitiltott",
all_roles: "Összes szerepkör",
role_user: "Felhasználó",
role_admin: "Admin",
role_staff: "Munkatárs",
role_superadmin: "Superadmin",
all_plans: "Összes csomag",
plan_free: "Ingyenes",
plan_premium: "Prémium",
plan_enterprise: "Vállalati",
total_users: "Összes Felhasználó",
active_users: "Aktív Felhasználók",
deleted_users: "Törölt Felhasználók",
banned_users: "Kitiltott Felhasználók",
new_today: "Ma Regisztrált",
filtered_results: "Szűrt találat",
selected_count: "{count} felhasználó kiválasztva",
bulk_activate: "Aktiválás",
bulk_deactivate: "Deaktiválás",
clear_selection: "Kijelölés törlése",
email: "E-mail",
name: "Név",
role: "Szerepkör",
status: "Státusz",
"package": "Csomag",
registration: "Regisztráció",
language: "Nyelv",
actions: "Műveletek",
view: "Megtekintés",
activate: "Aktiválás",
deactivate: "Deaktiválás",
no_results: "Nincs a keresésnek megfelelő felhasználó.",
showing: "Mutató",
prev: "Előző",
next: "Következő",
details: {
loading: "Felhasználó adatainak betöltése...",
retry: "Újra",
back: "Vissza a felhasználókhoz",
edit: "Felhasználó szerkesztése",
edit_user: "Felhasználó szerkesztése",
profile_tab: "Profil",
memberships_tab: "Tagságok",
account_info: "Fiók Információk",
user_id: "Felhasználó ID",
registration_date: "Regisztráció Dátuma",
last_login: "Utolsó Belépés",
ui_mode: "UI Mód",
region: "Régió",
currency: "Pénznem",
subscription_info: "Előfizetés Információk",
subscription_expires: "Lejárat Dátuma",
scope_level: "Hatáskör Szint",
scope_id: "Hatáskör ID",
max_vehicles: "Max Járművek",
max_garages: "Max Garázsok",
personal_info: "Személyes Információk",
last_name: "Vezetéknév",
first_name: "Keresztnév",
phone: "Telefonszám",
birth_place: "Születési Hely",
birth_date: "Születési Dátum",
mothers_name: "Anyja Vezetékneve",
mothers_first_name: "Anyja Keresztneve",
address: "Cím",
zip: "Irányítószám",
city: "Város",
street: "Utca",
house_number: "Házszám",
no_person_record: "Nem található személyes adat ehhez a felhasználóhoz.",
memberships: "Szervezeti Tagságok",
memberships_count: "{count} tagság",
no_memberships: "Ez a felhasználó nem tagja egyetlen szervezetnek sem.",
org_name: "Szervezet",
org_role: "Szerepkör",
member_status: "Státusz",
joined_at: "Csatlakozott",
verified: "Ellenőrzött",
verified_yes: "Igen",
verified_no: "Nem",
preferred_language: "Előnyben Részesített Nyelv",
is_active: "Aktív",
is_vip: "VIP",
var gamification$1 = {
badges: {
title: "Kitüntetések",
subtitle: "Badge-ek kezelése — CRUD",
loading: "Kitüntetések betöltése...",
error: "Nem sikerült betölteni a kitüntetéseket.",
retry: "Újrapróbálkozás",
create: "Új kitüntetés",
no_items: "Még nincsenek kitüntetések.",
id: "ID",
name: "Név",
description: "Leírás",
icon: "Ikon",
actions: "Műveletek",
edit: "Szerkesztés",
"delete": "Törlés",
cancel: "Mégse",
save: "Változtatások Mentése",
saving: "Mentés..."
save: "Mentés",
create_title: "Kitüntetés létrehozása",
edit_title: "Kitüntetés szerkesztése",
name_placeholder: "Kitüntetés neve",
desc_placeholder: "Kitüntetés leírása",
icon_placeholder: "Ikon URL",
icon_hint: "Opcionális. Az ikon URL-je a kitüntetéshez.",
icon_preview: "Ikon előnézet",
create_btn: "Létrehozás",
delete_title: "Kitüntetés törlése",
delete_confirm: "Biztosan törölni szeretnéd ezt a kitüntetést?",
delete_btn: "Törlés",
created: "Kitüntetés létrehozva!",
updated: "Kitüntetés frissítve!",
deleted: "Kitüntetés törölve!",
save_error: "Nem sikerült menteni a kitüntetést.",
delete_error: "Nem sikerült törölni a kitüntetést.",
unknown_error: "Ismeretlen hiba"
},
competitions: {
title: "Versenyek",
subtitle: "Szezonális versenyek kezelése",
loading: "Versenyek betöltése...",
error: "Nem sikerült betölteni a versenyeket.",
retry: "Újrapróbálkozás",
create: "Új Verseny",
no_items: "Még nincsenek versenyek létrehozva.",
create_first: "Első Verseny Létrehozása",
season_filter: "Szezon szűrő:",
all_seasons: "Összes szezon",
active_badge: "(Aktív)",
status_active: "Aktív",
status_draft: "Draft",
status_completed: "Befejezett",
status_cancelled: "Törölt",
view_rules: "Szabályok megtekintése",
edit: "Szerkesztés",
cancel: "Mégse",
save: "Mentés",
create_title: "Verseny létrehozása",
edit_title: "Verseny szerkesztése",
name: "Név",
name_placeholder: "Pl. Q1 Szerviz Beküldő Verseny",
description: "Leírás",
desc_placeholder: "Verseny leírása...",
season: "Szezon",
select_season: "Válassz szezont",
start_date: "Kezdő dátum",
end_date: "Záró dátum",
status: "Státusz",
rules: "Szabályok (JSON)",
rules_placeholder: "type: service_submission, points_multiplier: 1.5",
invalid_json: "Érvénytelen JSON formátum!",
create_btn: "Létrehozás",
season_id_label: "Szezon ID:",
save_error: "Hiba történt a mentés során."
},
config: {
title: "Rendszer Konfig",
subtitle: "Gamification master konfiguráció szerkesztése",
loading: "Konfiguráció betöltése...",
error: "Nem sikerült betölteni a konfigurációt.",
last_save: "Utolsó mentés:",
saving: "Mentés...",
save: "Konfiguráció mentése",
section_xp: "XP Logika",
section_conversion: "Konverziós Logika",
section_penalty: "Büntetési Logika",
section_rewards: "Szint Jutalmak",
calculator: "Hatás Kalkulátor",
calculator_desc: "Állítsd be a paramétereket a becsült hatás megtekintéséhez",
estimated_results: "Becsült Eredmények",
daily_xp: "Napi XP",
xp_for_level: "Szintlépéshez Szükséges XP",
social_to_credit: "Social → Credit",
days_to_level: "Szintlépés Napok Száma",
raw_json: "Nyers JSON Szerkesztő",
apply_json: "JSON Alkalmazása",
updated: "Konfiguráció frissítve!",
save_error: "Hiba történt a mentés során.",
json_applied: "JSON alkalmazva a form mezőkre!",
invalid_json: "Érvénytelen JSON: "
},
dashboard: {
title: "Gamification HQ",
subtitle: "Gamification rendszer áttekintő irányítópultja",
loading: "Dashboard betöltése...",
error: "Nem sikerült betölteni a dashboard adatokat.",
total_users: "Összes Felhasználó",
active_season: "Aktív Szezon",
pending_contributions: "Függő Hozzájárulások",
xp_earned_today: "Ma Szerzett XP",
none: "Nincs",
quick_actions: "Gyors Műveletek",
manage_point_rules: "Pontszabályok kezelése",
manage_badges: "Kitüntetések kezelése",
manage_seasons: "Szezonok kezelése",
recent_ledger: "Legutóbbi Pontnapló Bejegyzések",
no_ledger: "Még nincsenek pontnapló bejegyzések.",
top_5: "Top 5 Ranglista",
full_leaderboard: "Teljes ranglista →",
no_leaderboard: "Még nincsenek ranglista adatok.",
level: "Szint",
xp: "XP",
points: "pont"
},
leaderboard: {
title: "Ranglista",
subtitle: "Gamification ranglista admin nézet",
search: "Keresés",
level: "Szint",
min_xp: "Minimum XP",
sort: "Rendezés",
sort_xp: "XP szerint",
sort_points: "Pontok szerint",
sort_social: "Szociális pontok szerint",
sort_level: "Szint szerint",
filter: "Szűrés",
reset: "Visszaállítás",
descending: "Csökkenő",
ascending: "Növekvő",
user: "felhasználó",
loading: "Ranglista betöltése...",
error: "Nem sikerült betölteni a ranglistát.",
retry: "Újrapróbálkozás",
no_results: "Nincs találat a megadott szűrőkkel.",
no_results_hint: "Próbálj más szűrési feltételeket használni.",
user_col: "Felhasználó",
email: "Email",
xp: "XP",
points: "Pontok",
social: "Szociális",
penalty: "Büntetés",
restriction: "Restrikció",
discoveries: "Felfedezések",
services: "Szolgáltatások",
updated: "Utolsó módosítás",
actions: "Műveletek",
details: "Részletek",
prev: "Előző",
next: "Következő",
page_of: "/ oldal",
restriction_mild: "Enyhe",
restriction_moderate: "Közepes",
restriction_severe: "Súlyos"
},
ledger: {
title: "Pontnapló",
subtitle: "Gamification pontnapló böngészése",
loading: "Pontnapló betöltése...",
error: "Nem sikerült betölteni a pontnaplót.",
user_id: "User ID",
date_from: "Dátumtól",
date_to: "Dátumig",
reason: "Ok",
search: "Keresés",
clear: "Törlés",
csv: "CSV",
no_results: "Nincs találat a megadott szűrőkkel.",
no_results_hint: "Próbálj más szűrési feltételeket használni.",
id: "ID",
user: "User",
points: "Pont",
penalty: "Büntetés",
xp: "XP",
source: "Forrás",
date: "Dátum",
prev: "Előző",
next: "Következő",
of: "/",
showing: "mutatva",
filtered: "(szűrve)",
no_csv_data: "Nincs adat a CSV exportáláshoz.",
csv_downloaded: "CSV letöltés elindítva."
},
levels: {
title: "Szintek",
subtitle: "Szint konfigurációk kezelése — CRUD",
loading: "Szintek betöltése...",
error: "Nem sikerült betölteni a szint konfigurációkat.",
retry: "Újrapróbálkozás",
create: "Új szint",
no_items: "Még nincsenek szint konfigurációk.",
level: "Szint",
rank: "Rang",
min_points: "Min. Pont",
type: "Típus",
actions: "Műveletek",
penalty: "Büntető",
normal: "Normál",
tree_diagram: "Szint Fa Diagram",
no_tree_data: "Nincsenek szintek megjelenítéshez.",
points: "pont",
edit_title: "Szint szerkesztése",
create_title: "Szint létrehozása",
level_number: "Szint Száma",
rank_name: "Rang Neve",
min_points_label: "Minimum Pont",
is_penalty: "Büntető szint",
cancel: "Mégse",
save: "Mentés",
saving: "Mentés...",
updated: "Szint frissítve!",
created: "Szint létrehozva!",
duplicate_level: "Ezzel a szint számmal már létezik konfiguráció.",
save_error: "Hiba történt a mentés során."
},
params: {
title: "Rendszerparaméterek",
subtitle: "Gamification kategóriájú rendszerparaméterek",
loading: "Paraméterek betöltése...",
error: "Nem sikerült betölteni a rendszerparamétereket.",
retry: "Újrapróbálkozás",
no_items: "Nincsenek gamification rendszerparaméterek.",
key: "Kulcs",
value: "Érték",
category: "Kategória",
scope: "Hatósugár",
scope_id: "Scope ID",
actions: "Műveletek",
edit: "Szerkesztés",
edit_title: "Paraméter szerkesztése",
value_label: "Érték",
value_placeholder: "Paraméter értéke (JSON vagy sima szöveg)",
json_detected: "🔹 JSON formátum érzékelve",
text_value: "🔸 Szöveges érték",
cancel: "Mégse",
save: "Mentés",
saving: "Mentés...",
invalid_json: "Érvénytelen JSON formátum: ",
save_error: "Hiba történt a mentés során.",
updated: "frissítve!"
},
point_rules: {
title: "Pontszabályok",
subtitle: "Gamification pontszabályok kezelése — CRUD",
loading: "Pontszabályok betöltése...",
error: "Nem sikerült betölteni a pontszabályokat.",
retry: "Újrapróbálkozás",
create: "Új pontszabály",
no_items: "Még nincsenek pontszabályok. Hozz létre egyet a fenti gombbal!",
id: "ID",
action_key: "Akció Kulcs",
points: "Pont",
description: "Leírás",
status: "Státusz",
actions: "Műveletek",
active: "Aktív",
inactive: "Inaktív",
edit: "Szerkesztés",
"delete": "Törlés (soft-delete)",
edit_title: "Pontszabály szerkesztése",
create_title: "Új pontszabály",
action_key_label: "Akció Kulcs",
action_key_placeholder: "pl. service_submitted",
points_label: "Pontérték",
points_placeholder: "0",
description_label: "Leírás",
description_placeholder: "Rövid leírás a szabályról...",
is_active: "Aktív",
cancel: "Mégse",
save: "Mentés",
saving: "Mentés...",
updated: "Pontszabály frissítve!",
created: "Pontszabály létrehozva!",
deleted: "Pontszabály deaktiválva!",
duplicate_key: "Egy szabály ezzel a kulccsal már létezik.",
save_error: "Nem sikerült menteni a pontszabályt.",
delete_title: "Pontszabály törlése",
delete_confirm: "Biztosan deaktiválod a következő szabályt:",
delete_btn: "Törlés",
deleting: "Törlés..."
},
seasons: {
title: "Szezonok",
subtitle: "Gamification szezonkezelés",
loading: "Szezonok betöltése...",
error: "Nem sikerült betölteni a szezonokat.",
retry: "Újra",
create: "Új Szezon",
no_items: "Még nincsenek szezonok létrehozva.",
create_first: "Első Szezon Létrehozása",
active: "Aktív",
inactive: "Inaktív",
created_at: "Létrehozva:",
activate: "Aktiválás",
edit: "Szerkesztés",
edit_title: "Szezon szerkesztése",
create_title: "Új Szezon",
name: "Név",
name_placeholder: "pl. 2026 Q1 Szezon",
start_date: "Kezdő dátum",
end_date: "Záró dátum",
activate_on_create: "Aktiválás létrehozáskor",
cancel: "Mégse",
save: "Mentés",
create_btn: "Létrehozás",
activate_title: "Szezon aktiválása",
activate_confirm: "Biztosan aktiválni szeretnéd",
activate_warning: "Ez deaktiválja az összes többi szezont.",
activating: "Aktiválás...",
activate_btn: "Aktiválás",
save_error: "Nem sikerült menteni a szezont."
},
users: {
title: "Gamification Felhasználók",
subtitle: "Felhasználói gamification statisztikák kezelése",
loading: "Felhasználók betöltése...",
error: "Nem sikerült betölteni a felhasználói statisztikákat.",
retry: "Újra",
no_results: "Nincsenek megjeleníthető felhasználói statisztikák.",
level: "Szint",
all_levels: "Minden Szint",
level_n: "{n}. szint",
min_xp: "Minimum XP",
max_xp: "Maximum XP",
penalty: "Büntetés",
any: "Bármelyik",
only_penalized: "Csak büntetettek",
only_clean: "Csak tiszták",
filter: "Szűrés",
reset: "Visszaállítás",
count: "felhasználó",
user_id: "Felhasználó ID",
xp: "XP",
points: "Pontok",
restriction: "Korlátozás",
services: "Szolgáltatások",
discoveries: "Felfedezések",
updated: "Utolsó frissítés",
actions: "Műveletek",
details: "Részletek",
prev: "Előző",
next: "Következő",
none: "Nincs",
restriction_mild: "Enyhe",
restriction_moderate: "Mérsékelt",
restriction_severe: "Súlyos"
},
user_detail: {
back: "Vissza a listához",
title: "Felhasználó Gamification Részletei",
id_label: "ID:",
loading: "Felhasználó betöltése...",
error: "Nem sikerült betölteni a felhasználói adatokat.",
retry: "Újra",
not_found: "Felhasználó nem található.",
total_xp: "Összes XP",
level: "Szint",
total_points: "Összes Pont",
social_points: "Szociális Pontok",
penalty_points: "Büntető Pontok",
restriction_level: "Korlátozás Szintje",
penalty_quota: "Büntetési Kvóta",
banned_until: "Kitiltva eddig:",
no: "Nincs",
services: "Szolgáltatások",
discovered_places: "Felfedezett Helyek",
validated_places: "Validált Helyek",
added_providers: "Hozzáadott Szolgáltatók",
penalty_form_title: "Büntetés Kiosztása",
penalty_points_label: "Büntető Pontok",
penalty_reason_label: "Indok",
penalty_reason_placeholder: "Büntetés indoka...",
penalty_submit: "Büntetés Kiosztása",
penalty_submitting: "Küldés...",
penalty_success: "Büntetés sikeresen kiosztva: {amount} pont.",
penalty_error: "Nem sikerült kiosztani a büntetést.",
reward_form_title: "Jutalom Kiosztása",
reward_xp_label: "XP Jutalom",
reward_social_label: "Szociális Pont Jutalom",
reward_reason_label: "Indok",
reward_reason_placeholder: "Jutalom indoka...",
reward_submit: "Jutalom Kiosztása",
reward_submitting: "Küldés...",
reward_success: "Jutalom sikeresen kiosztva: {xp} XP, {social} szociális pont.",
reward_error: "Nem sikerült kiosztani a jutalmat.",
ledger_title: "Pont Napló",
ledger_count: "bejegyzés",
ledger_loading: "Betöltés...",
ledger_empty: "Még nincsenek naplóbejegyzések ehhez a felhasználóhoz.",
ledger_date: "Dátum",
ledger_points: "Pontok",
ledger_penalty: "Büntetés",
ledger_xp: "XP",
ledger_reason: "Indok",
ledger_source: "Forrás"
}
};
const locale_hu_46json_ee06c965 = {
permissions: permissions$1,
packages: packages$1,
garages: garages$1,
users: users$1
gamification: gamification$1
};
var permissions = {
@@ -2969,6 +3277,412 @@ var garages = {
no_fleet_access: "You don't have permission to view fleet data."
}
};
var gamification = {
badges: {
title: "Badges",
subtitle: "Badge Management — CRUD",
loading: "Loading badges...",
error: "Failed to load badges.",
retry: "Retry",
create: "New Badge",
no_items: "No badges yet.",
id: "ID",
name: "Name",
description: "Description",
icon: "Icon",
actions: "Actions",
edit: "Edit",
"delete": "Delete",
cancel: "Cancel",
save: "Save",
create_title: "Create Badge",
edit_title: "Edit Badge",
name_placeholder: "Badge name",
desc_placeholder: "Badge description",
icon_placeholder: "Icon URL",
icon_hint: "Optional. The icon URL for the badge.",
icon_preview: "Icon preview",
create_btn: "Create",
delete_title: "Delete Badge",
delete_confirm: "Are you sure you want to delete this badge?",
delete_btn: "Delete",
created: "Badge created!",
updated: "Badge updated!",
deleted: "Badge deleted!",
save_error: "Failed to save badge.",
delete_error: "Failed to delete badge.",
unknown_error: "Unknown error"
},
competitions: {
title: "Competitions",
subtitle: "Seasonal competition management",
loading: "Loading competitions...",
error: "Failed to load competitions.",
retry: "Retry",
create: "New Competition",
no_items: "No competitions created yet.",
create_first: "Create First Competition",
season_filter: "Season Filter:",
all_seasons: "All Seasons",
active_badge: "(Active)",
status_active: "Active",
status_draft: "Draft",
status_completed: "Completed",
status_cancelled: "Cancelled",
view_rules: "View Rules",
edit: "Edit",
cancel: "Cancel",
save: "Save",
create_title: "Create Competition",
edit_title: "Edit Competition",
name: "Name",
name_placeholder: "e.g. Q1 Service Submission Contest",
description: "Description",
desc_placeholder: "Competition description...",
season: "Season",
select_season: "Select a season",
start_date: "Start Date",
end_date: "End Date",
status: "Status",
rules: "Rules (JSON)",
rules_placeholder: "type: service_submission, points_multiplier: 1.5",
invalid_json: "Invalid JSON format!",
create_btn: "Create",
season_id_label: "Season ID:",
save_error: "Failed to save competition."
},
config: {
title: "System Config",
subtitle: "Gamification master configuration editor",
loading: "Loading configuration...",
error: "Failed to load configuration.",
last_save: "Last saved:",
saving: "Saving...",
save: "Save Configuration",
section_xp: "XP Logic",
section_conversion: "Conversion Logic",
section_penalty: "Penalty Logic",
section_rewards: "Level Rewards",
calculator: "Impact Calculator",
calculator_desc: "Adjust parameters to see estimated impact",
estimated_results: "Estimated Results",
daily_xp: "Daily XP",
xp_for_level: "XP Needed for Level Up",
social_to_credit: "Social → Credit",
days_to_level: "Days to Level Up",
raw_json: "Raw JSON Editor",
apply_json: "Apply JSON",
updated: "Configuration updated!",
save_error: "Failed to save configuration.",
json_applied: "JSON applied to form fields!",
invalid_json: "Invalid JSON: "
},
dashboard: {
title: "Gamification HQ",
subtitle: "Gamification system overview dashboard",
loading: "Loading dashboard...",
error: "Failed to load dashboard data.",
total_users: "Total Users",
active_season: "Active Season",
pending_contributions: "Pending Contributions",
xp_earned_today: "XP Earned Today",
none: "None",
quick_actions: "Quick Actions",
manage_point_rules: "Manage Point Rules",
manage_badges: "Manage Badges",
manage_seasons: "Manage Seasons",
recent_ledger: "Recent Ledger Entries",
no_ledger: "No ledger entries yet.",
top_5: "Top 5 Leaderboard",
full_leaderboard: "Full Leaderboard →",
no_leaderboard: "No leaderboard data yet.",
level: "Level",
xp: "XP",
points: "points"
},
leaderboard: {
title: "Leaderboard",
subtitle: "Gamification leaderboard admin view",
search: "Search",
level: "Level",
min_xp: "Min XP",
sort: "Sort",
sort_xp: "By XP",
sort_points: "By Points",
sort_social: "By Social Points",
sort_level: "By Level",
filter: "Filter",
reset: "Reset",
descending: "Descending",
ascending: "Ascending",
user: "user",
loading: "Loading leaderboard...",
error: "Failed to load leaderboard.",
retry: "Retry",
no_results: "No results match your filters.",
no_results_hint: "Try different filter criteria.",
user_col: "User",
email: "Email",
xp: "XP",
points: "Points",
social: "Social",
penalty: "Penalty",
restriction: "Restriction",
discoveries: "Discoveries",
services: "Services",
updated: "Last Updated",
actions: "Actions",
details: "Details",
prev: "Previous",
next: "Next",
page_of: "/ page",
restriction_mild: "Mild",
restriction_moderate: "Moderate",
restriction_severe: "Severe"
},
ledger: {
title: "Points Ledger",
subtitle: "Gamification points ledger browser",
loading: "Loading ledger...",
error: "Failed to load ledger.",
user_id: "User ID",
date_from: "Date From",
date_to: "Date To",
reason: "Reason",
search: "Search",
clear: "Clear",
csv: "CSV",
no_results: "No results match your filters.",
no_results_hint: "Try different filter criteria.",
id: "ID",
user: "User",
points: "Points",
penalty: "Penalty",
xp: "XP",
source: "Source",
date: "Date",
prev: "Previous",
next: "Next",
of: "of",
showing: "showing",
filtered: "(filtered)",
no_csv_data: "No data for CSV export.",
csv_downloaded: "CSV download started."
},
levels: {
title: "Levels",
subtitle: "Level configuration management — CRUD",
loading: "Loading levels...",
error: "Failed to load level configurations.",
retry: "Retry",
create: "New Level",
no_items: "No level configurations yet.",
level: "Level",
rank: "Rank",
min_points: "Min Points",
type: "Type",
actions: "Actions",
penalty: "Penalty",
normal: "Normal",
tree_diagram: "Level Tree Diagram",
no_tree_data: "No levels to display.",
points: "points",
edit_title: "Edit Level",
create_title: "Create Level",
level_number: "Level Number",
rank_name: "Rank Name",
min_points_label: "Minimum Points",
is_penalty: "Penalty Level",
cancel: "Cancel",
save: "Save",
saving: "Saving...",
updated: "Level updated!",
created: "Level created!",
duplicate_level: "A configuration with this level number already exists.",
save_error: "Failed to save level."
},
params: {
title: "System Parameters",
subtitle: "Gamification category system parameters",
loading: "Loading parameters...",
error: "Failed to load system parameters.",
retry: "Retry",
no_items: "No gamification system parameters.",
key: "Key",
value: "Value",
category: "Category",
scope: "Scope",
scope_id: "Scope ID",
actions: "Actions",
edit: "Edit",
edit_title: "Edit Parameter",
value_label: "Value",
value_placeholder: "Parameter value (JSON or plain text)",
json_detected: "🔹 JSON format detected",
text_value: "🔸 Text value",
cancel: "Cancel",
save: "Save",
saving: "Saving...",
invalid_json: "Invalid JSON format: ",
save_error: "Failed to save parameter.",
updated: "updated!"
},
point_rules: {
title: "Point Rules",
subtitle: "Gamification point rules management — CRUD",
loading: "Loading point rules...",
error: "Failed to load point rules.",
retry: "Retry",
create: "New Point Rule",
no_items: "No point rules yet. Create one with the button above!",
id: "ID",
action_key: "Action Key",
points: "Points",
description: "Description",
status: "Status",
actions: "Actions",
active: "Active",
inactive: "Inactive",
edit: "Edit",
"delete": "Delete (soft-delete)",
edit_title: "Edit Point Rule",
create_title: "New Point Rule",
action_key_label: "Action Key",
action_key_placeholder: "e.g. service_submitted",
points_label: "Point Value",
points_placeholder: "0",
description_label: "Description",
description_placeholder: "Short description of the rule...",
is_active: "Active",
cancel: "Cancel",
save: "Save",
saving: "Saving...",
updated: "Point rule updated!",
created: "Point rule created!",
deleted: "Point rule deactivated!",
duplicate_key: "A rule with this action key already exists.",
save_error: "Failed to save point rule.",
delete_title: "Delete Point Rule",
delete_confirm: "Are you sure you want to deactivate the rule",
delete_btn: "Delete",
deleting: "Deleting..."
},
seasons: {
title: "Seasons",
subtitle: "Gamification season management",
loading: "Loading seasons...",
error: "Failed to load seasons.",
retry: "Retry",
create: "New Season",
no_items: "No seasons created yet.",
create_first: "Create First Season",
active: "Active",
inactive: "Inactive",
created_at: "Created:",
activate: "Activate",
edit: "Edit",
edit_title: "Edit Season",
create_title: "New Season",
name: "Name",
name_placeholder: "e.g. 2026 Q1 Season",
start_date: "Start Date",
end_date: "End Date",
activate_on_create: "Activate on creation",
cancel: "Cancel",
save: "Save",
create_btn: "Create",
activate_title: "Activate Season",
activate_confirm: "Are you sure you want to activate",
activate_warning: "This will deactivate all other seasons.",
activating: "Activating...",
activate_btn: "Activate",
save_error: "Failed to save season."
},
users: {
title: "Gamification Users",
subtitle: "User gamification statistics management",
loading: "Loading users...",
error: "Failed to load user statistics.",
retry: "Retry",
no_results: "No user statistics to display.",
level: "Level",
all_levels: "All Levels",
level_n: "Level {n}",
min_xp: "Minimum XP",
max_xp: "Maximum XP",
penalty: "Penalty",
any: "Any",
only_penalized: "Only penalized",
only_clean: "Only clean",
filter: "Filter",
reset: "Reset",
count: "users",
user_id: "User ID",
xp: "XP",
points: "Points",
restriction: "Restriction",
services: "Services",
discoveries: "Discoveries",
updated: "Last Updated",
actions: "Actions",
details: "Details",
prev: "Previous",
next: "Next",
none: "None",
restriction_mild: "Mild",
restriction_moderate: "Moderate",
restriction_severe: "Severe"
},
user_detail: {
back: "Back to list",
title: "User Gamification Details",
id_label: "ID:",
loading: "Loading user...",
error: "Failed to load user data.",
retry: "Retry",
not_found: "User not found.",
total_xp: "Total XP",
level: "Level",
total_points: "Total Points",
social_points: "Social Points",
penalty_points: "Penalty Points",
restriction_level: "Restriction Level",
penalty_quota: "Penalty Quota",
banned_until: "Banned Until",
no: "No",
services: "Services",
discovered_places: "Discovered Places",
validated_places: "Validated Places",
added_providers: "Added Providers",
penalty_form_title: "Assign Penalty",
penalty_points_label: "Penalty Points",
penalty_reason_label: "Reason",
penalty_reason_placeholder: "Reason for penalty...",
penalty_submit: "Assign Penalty",
penalty_submitting: "Submitting...",
penalty_success: "Penalty successfully assigned: {amount} points.",
penalty_error: "Failed to assign penalty.",
reward_form_title: "Assign Reward",
reward_xp_label: "XP Reward",
reward_social_label: "Social Points Reward",
reward_reason_label: "Reason",
reward_reason_placeholder: "Reason for reward...",
reward_submit: "Assign Reward",
reward_submitting: "Submitting...",
reward_success: "Reward successfully assigned: {xp} XP, {social} social points.",
reward_error: "Failed to assign reward.",
ledger_title: "Points Ledger",
ledger_count: "entries",
ledger_loading: "Loading...",
ledger_empty: "No ledger entries for this user yet.",
ledger_date: "Date",
ledger_points: "Points",
ledger_penalty: "Penalty",
ledger_xp: "XP",
ledger_reason: "Reason",
ledger_source: "Source"
}
};
var users = {
title: "User Management",
subtitle: "User list, search, filters and bulk actions",
@@ -3071,6 +3785,7 @@ const locale_en_46json_0b63539c = {
permissions: permissions,
packages: packages,
garages: garages,
gamification: gamification,
users: users
};
@@ -3720,16 +4435,16 @@ _wH6JrtIxmaSoA8lCPWFnE9z4lQeXW6H5z3l5aymEQw
const assets = {
"/index.mjs": {
"type": "text/javascript; charset=utf-8",
"etag": "\"26f47-FxUsDl+Qw3SM1eutSdt3YslLdnY\"",
"mtime": "2026-06-29T13:04:36.052Z",
"size": 159559,
"etag": "\"2c701-fNm5VNl5vMngvjEL6uHbTM2fqPA\"",
"mtime": "2026-06-30T00:18:05.496Z",
"size": 182017,
"path": "index.mjs"
},
"/index.mjs.map": {
"type": "application/json",
"etag": "\"83331-ZjNHkLjUBSxWFNgfXByOQYuJexY\"",
"mtime": "2026-06-29T13:04:36.052Z",
"size": 537393,
"etag": "\"835fc-7nTYsGEhqGZNTJCZQUwPgzvbNPs\"",
"mtime": "2026-06-30T00:18:05.496Z",
"size": 538108,
"path": "index.mjs.map"
}
};