All checks were successful
Deploy HiHala Dashboard / deploy (push) Successful in 6s
- Server checks PIN against env (super admin) + NocoDB Users table - Session stores name + role (admin/viewer) - Admin: sees Settings page (seasons + users management) - Viewer: sees Dashboard + Comparison only, no Settings - Users CRUD on Settings page: add name + PIN + role, delete - Settings link + nav hidden for non-admin users Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
200 lines
5.7 KiB
JSON
200 lines
5.7 KiB
JSON
{
|
|
"app": {
|
|
"name": "HiHala Data",
|
|
"loading": "Loading data...",
|
|
"error": "Unable to load data",
|
|
"retry": "Retry",
|
|
"offline": "Offline",
|
|
"refresh": "Refresh data"
|
|
},
|
|
"nav": {
|
|
"dashboard": "Dashboard",
|
|
"comparison": "Comparison",
|
|
"compare": "Compare",
|
|
"slides": "Slides",
|
|
"settings": "Settings",
|
|
"labels": "Labels",
|
|
"labelsOn": "Labels On",
|
|
"labelsOff": "Labels Off",
|
|
"labelsTooltip": "Show values on charts",
|
|
"vat": "VAT"
|
|
},
|
|
"toggle": {
|
|
"on": "On",
|
|
"off": "Off",
|
|
"incl": "Incl",
|
|
"excl": "Excl"
|
|
},
|
|
"dataSources": {
|
|
"museums": "Events",
|
|
"coffees": "Coffees",
|
|
"ecommerce": "eCommerce",
|
|
"soon": "soon"
|
|
},
|
|
"filters": {
|
|
"title": "Filters",
|
|
"year": "Year",
|
|
"district": "District",
|
|
"channel": "Channel",
|
|
"museum": "Event",
|
|
"quarter": "Quarter",
|
|
"allYears": "All Years",
|
|
"allDistricts": "All Districts",
|
|
"allChannels": "All Channels",
|
|
"allMuseums": "All Events",
|
|
"allQuarters": "All Quarters",
|
|
"season": "Season",
|
|
"allSeasons": "All Seasons",
|
|
"reset": "Reset Filters"
|
|
},
|
|
"metrics": {
|
|
"revenue": "Revenue",
|
|
"totalRevenue": "Total Revenue",
|
|
"visitors": "Visitors",
|
|
"totalVisitors": "Total Visitors",
|
|
"tickets": "Tickets",
|
|
"totalTickets": "Total Tickets",
|
|
"avgRevenue": "Avg Rev/Visitor",
|
|
"avgRevenuePerVisitor": "Avg Revenue/Visitor",
|
|
"pilgrims": "Pilgrims",
|
|
"captureRate": "Capture Rate"
|
|
},
|
|
"dashboard": {
|
|
"title": "Dashboard",
|
|
"subtitle": "Event analytics from ERP",
|
|
"noData": "No data found",
|
|
"noDataMessage": "No records match your current filters. Try adjusting your selection.",
|
|
"quarterlyComparison": "Quarterly Comparison: 2024 vs 2025",
|
|
"revenueTrends": "Revenue Trends",
|
|
"visitorsByMuseum": "Visitors by Event",
|
|
"revenueByMuseum": "Revenue by Event",
|
|
"quarterlyRevenue": "Quarterly Revenue (YoY)",
|
|
"districtPerformance": "District Performance",
|
|
"channelPerformance": "Channel Performance",
|
|
"captureRateChart": "Capture Rate vs Umrah Pilgrims"
|
|
},
|
|
"table": {
|
|
"quarter": "Quarter",
|
|
"rev2024": "Rev 2024",
|
|
"rev2025": "Rev 2025",
|
|
"change": "Change",
|
|
"visitors2024": "Visitors 2024",
|
|
"visitors2025": "Visitors 2025",
|
|
"capture2024": "Capture 2024",
|
|
"capture2025": "Capture 2025"
|
|
},
|
|
"time": {
|
|
"daily": "Daily",
|
|
"weekly": "Weekly",
|
|
"monthly": "Monthly",
|
|
"q1": "Q1",
|
|
"q2": "Q2",
|
|
"q3": "Q3",
|
|
"q4": "Q4",
|
|
"h1": "H1",
|
|
"h2": "H2",
|
|
"fullYear": "Full Year"
|
|
},
|
|
"months": {
|
|
"january": "January",
|
|
"february": "February",
|
|
"march": "March",
|
|
"april": "April",
|
|
"may": "May",
|
|
"june": "June",
|
|
"july": "July",
|
|
"august": "August",
|
|
"september": "September",
|
|
"october": "October",
|
|
"november": "November",
|
|
"december": "December"
|
|
},
|
|
"comparison": {
|
|
"title": "Period Comparison",
|
|
"subtitle": "Select a period and year — automatically compares with the same period in the previous year",
|
|
"selectPeriod": "Select Period",
|
|
"period": "Period",
|
|
"from": "From",
|
|
"to": "To",
|
|
"custom": "Custom",
|
|
"previousPeriod": "Previous Period",
|
|
"currentPeriod": "Current Period",
|
|
"vs": "vs",
|
|
"noData": "No data for this period",
|
|
"noDataMessage": "No records found for the selected date range and filters.",
|
|
"trend": "Trend",
|
|
"byMuseum": "By Event",
|
|
"pendingData": "Data not published yet"
|
|
},
|
|
"slides": {
|
|
"title": "Presentation Builder",
|
|
"subtitle": "Create slides with charts and export as HTML or PDF",
|
|
"addSlide": "Add Slide",
|
|
"preview": "Preview",
|
|
"exportHtml": "Export HTML",
|
|
"slidesCount": "Slides",
|
|
"noSlides": "No slides yet",
|
|
"addFirst": "Add your first slide",
|
|
"slideTitle": "Slide Title",
|
|
"chartType": "Chart Type",
|
|
"metric": "Metric",
|
|
"startDate": "Start Date",
|
|
"endDate": "End Date",
|
|
"showYoY": "Show Year-over-Year Comparison",
|
|
"exit": "Exit",
|
|
"revenueTrend": "Revenue Trend",
|
|
"byMuseum": "By Event",
|
|
"kpiSummary": "KPI Summary",
|
|
"yoyComparison": "YoY Comparison"
|
|
},
|
|
"charts": {
|
|
"revenueTrend": "Revenue Trend",
|
|
"visitors": "Visitors",
|
|
"revenue": "Revenue",
|
|
"quarterly": "Quarterly",
|
|
"district": "District",
|
|
"channel": "Channel",
|
|
"captureRate": "Capture Rate"
|
|
},
|
|
"settings": {
|
|
"title": "Settings",
|
|
"subtitle": "Configure dashboard settings and hijri seasons",
|
|
"seasons": "Hijri Seasons",
|
|
"seasonsHint": "Define seasons with their Gregorian date ranges. These appear as filter presets and chart overlays.",
|
|
"seasonName": "Season",
|
|
"startDate": "Start Date",
|
|
"endDate": "End Date",
|
|
"actions": "Actions",
|
|
"namePlaceholder": "e.g. Ramadan",
|
|
"add": "Add",
|
|
"delete": "Delete",
|
|
"users": "Users",
|
|
"usersHint": "Add users with a PIN code. Viewers can see the dashboard but not settings.",
|
|
"userName": "Name",
|
|
"userPin": "PIN",
|
|
"userRole": "Role"
|
|
},
|
|
"login": {
|
|
"subtitle": "Enter your PIN to access the dashboard",
|
|
"placeholder": "PIN code",
|
|
"submit": "Login",
|
|
"invalid": "Invalid PIN code",
|
|
"error": "Connection error. Please try again."
|
|
},
|
|
"errors": {
|
|
"config": "The dashboard is not configured. Please set up the ERP API connection.",
|
|
"network": "Cannot reach the database server. Please check your internet connection.",
|
|
"auth": "Access denied. The API token may be invalid or expired.",
|
|
"timeout": "The database server is taking too long to respond. Please try again.",
|
|
"unknown": "Something went wrong while loading data. Please try again."
|
|
},
|
|
"language": {
|
|
"switch": "عربي"
|
|
},
|
|
"export": {
|
|
"exportAll": "Export All Charts",
|
|
"exportSlides": "Export for Slides",
|
|
"exporting": "Exporting..."
|
|
}
|
|
}
|