369 lines
14 KiB
JSON
369 lines
14 KiB
JSON
{
|
|
"app": {
|
|
"title": "Admin Panel",
|
|
"dashboard": "Dashboard",
|
|
"database": "Data Base",
|
|
"users": "Users",
|
|
"restaurants": "Restaurants",
|
|
"settings": "Settings",
|
|
"profile": "Profile",
|
|
"logout": "Logout",
|
|
"language": "Language",
|
|
"search": "Search...",
|
|
"notifications": "Notifications",
|
|
"administrator": "Administrator",
|
|
"user": "User",
|
|
"cancel": "Cancel",
|
|
"save": "Save",
|
|
"delete": "Delete",
|
|
"edit": "Edit",
|
|
"add": "Add",
|
|
"reset": "Reset",
|
|
"loading": "Loading...",
|
|
"all": "all",
|
|
"confirm": "Confirm"
|
|
},
|
|
"common": {
|
|
"id": "ID",
|
|
"name": "Name",
|
|
"email": "Email",
|
|
"password": "Password",
|
|
"login": "Login",
|
|
"username": "Username",
|
|
"role": "Role",
|
|
"status": "Status",
|
|
"ip": "IP",
|
|
"created": "Created",
|
|
"actions": "Actions",
|
|
"active": "Active",
|
|
"inactive": "Inactive",
|
|
"yes": "Yes",
|
|
"no": "No",
|
|
"passwordRequired": "Password is required",
|
|
"saveChanges": "Save Changes",
|
|
"confirmDelete": "Confirm Delete",
|
|
"leavePasswordBlank": "Leave blank to keep current password",
|
|
"deleteConfirmation": "Are you sure you want to delete this item? This action cannot be undone.",
|
|
"operationSuccess": "Operation completed successfully",
|
|
"operationFailed": "Operation failed",
|
|
"networkError": "Network error",
|
|
"version": "Version",
|
|
"versionFrom": "from"
|
|
},
|
|
"dashboard": {
|
|
"totalUsers": "Total Users",
|
|
"totalRestaurants": "Total Restaurants",
|
|
"systemHealth": "System Health",
|
|
"uptime": "Uptime",
|
|
"vsLastMonth": "vs last month",
|
|
"fromLastHour": "from last hour",
|
|
"operational": "Operational",
|
|
"down": "Down",
|
|
"userActivity": "User Activity (Last 7 days)",
|
|
"week": "Week",
|
|
"month": "Month",
|
|
"systemServices": "System Services",
|
|
"recentUsers": "Recent Users",
|
|
"recentRestaurants": "Recent Restaurants",
|
|
"viewAll": "View all",
|
|
"noUsers": "No users yet",
|
|
"noRestaurants": "No restaurants yet",
|
|
"new": "New",
|
|
"today": "Today",
|
|
"yesterday": "Yesterday",
|
|
"daysAgo": "{count} days ago",
|
|
"loadError": "Failed to load dashboard data"
|
|
},
|
|
"users": {
|
|
"pageName": "Users Management",
|
|
"add": "Add User",
|
|
"edit": "Edit User",
|
|
"delete": "Delete User",
|
|
"you": "(You)",
|
|
"confirmDelete": "Delete User",
|
|
"deleteConfirmation": "Are you sure you want to delete this user? This action cannot be undone.",
|
|
"statusUpdated": "User status updated",
|
|
"statusUpdateError": "Failed to update user status",
|
|
"passwordRequired": "Password is required for new user",
|
|
"createSuccess": "User created successfully",
|
|
"createError": "Failed to create user",
|
|
"updateSuccess": "User updated successfully",
|
|
"updateError": "Failed to update user",
|
|
"deleteSuccess": "User deleted",
|
|
"deleteError": "Failed to delete user",
|
|
"cannotChangeOwnRole": "You cannot change your own role",
|
|
"noUsers": "No users found",
|
|
"loadError": "Failed to load users",
|
|
"loadCurrentError": "Failed to load current user info"
|
|
},
|
|
"restaurants": {
|
|
"pageName": "Restaurants",
|
|
"add": "Add Restaurant",
|
|
"edit": "Edit Restaurant",
|
|
"delete": "Delete Restaurant",
|
|
"host": "Host",
|
|
"https": "HTTPS",
|
|
"useHttps": "Use HTTPS",
|
|
"confirmDelete": "Delete Restaurant",
|
|
"noRestaurants": "No restaurants found. Click \"Add Restaurant\" to create one.",
|
|
"deleteConfirmation": "Are you sure you want to delete this restaurant? This action cannot be undone.",
|
|
"check": "Check connection",
|
|
"checkError": "Check failed: {error}",
|
|
"loadError": "Failed to load restaurants",
|
|
"createSuccess": "Restaurant created successfully",
|
|
"updateSuccess": "Restaurant updated successfully",
|
|
"deleteSuccess": "Restaurant deleted",
|
|
"httpsUpdateSuccess": "HTTPS status updated",
|
|
"httpsUpdateError": "Failed to update HTTPS",
|
|
"passwordRequired": "Password is required for new restaurant",
|
|
"checkNetworkError": "Network error while checking"
|
|
},
|
|
"settings": {
|
|
"title": "Application Settings",
|
|
"save": "Save Changes",
|
|
"reset": "Reset",
|
|
"saved": "Settings saved successfully",
|
|
"saveFailed": "Failed to save settings",
|
|
"loadFailed": "Failed to load settings metadata",
|
|
"enabled": "Enabled",
|
|
"saveSuccess": "Settings saved successfully",
|
|
"saveError": "Failed to save settings",
|
|
"loadMetaError": "Failed to load settings metadata"
|
|
},
|
|
"profile": {
|
|
"title": "My Profile",
|
|
"subtitle": "Manage your account settings",
|
|
"username": "Username",
|
|
"email": "Email Address",
|
|
"newPassword": "New Password",
|
|
"confirmPassword": "Confirm New Password",
|
|
"save": "Save Changes",
|
|
"reset": "Reset",
|
|
"role": "Role",
|
|
"passwordsMismatch": "Passwords do not match",
|
|
"updateSuccess": "Profile updated successfully",
|
|
"updateError": "Failed to update profile"
|
|
},
|
|
"login": {
|
|
"title": "Welcome Back",
|
|
"subtitle": "Sign in to your account",
|
|
"username": "Username or Email",
|
|
"remember": "Remember me",
|
|
"signin": "Sign In",
|
|
"createAccount": "Create account",
|
|
"invalidCredentials": "Invalid username or password",
|
|
"networkError": "Network error. Please try again."
|
|
},
|
|
"register": {
|
|
"title": "Create Account",
|
|
"subtitle": "Register and wait for admin approval",
|
|
"username": "Username",
|
|
"email": "Email",
|
|
"password": "Password",
|
|
"register": "Register",
|
|
"success": "Account created! Wait for admin activation.",
|
|
"failed": "Registration failed",
|
|
"alreadyHaveAccount": "Already have an account?",
|
|
"networkError": "Network error"
|
|
},
|
|
"setup": {
|
|
"title": "Setup Admin Account",
|
|
"subtitle": "Create your administrator account",
|
|
"step1": "Account Details",
|
|
"step2": "Complete",
|
|
"createAccount": "Create Account",
|
|
"passwordStrength": "Password strength",
|
|
"veryWeak": "Very Weak",
|
|
"weak": "Weak",
|
|
"fair": "Fair",
|
|
"good": "Good",
|
|
"strong": "Strong",
|
|
"validationUsernameMin": "Username must be at least 3 characters",
|
|
"validationEmailInvalid": "Please enter a valid email address",
|
|
"validationPasswordMin": "Password must be at least 6 characters",
|
|
"createFailed": "Failed to create account"
|
|
},
|
|
"notFound": {
|
|
"title": "Oops! Page not found",
|
|
"message": "The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.",
|
|
"goToDashboard": "Go to Dashboard",
|
|
"signIn": "Sign In"
|
|
},
|
|
"validation": {
|
|
"required": "This field is required",
|
|
"minLength": "Must be at least {min} characters",
|
|
"email": "Please enter a valid email address",
|
|
"passwordMismatch": "Passwords do not match"
|
|
},
|
|
"olapColumns": {
|
|
"title": "OLAP Reports Structure",
|
|
"initialize": "Initialize",
|
|
"filterFieldKey": "Field key",
|
|
"filterFieldKeyPlaceholder": "search by key...",
|
|
"filterReportType": "Report type",
|
|
"filterTag": "Tag",
|
|
"fieldKey": "Field (key)",
|
|
"reportTypes": "Report types",
|
|
"type": "Type",
|
|
"tags": "Tags",
|
|
"aggregation": "Aggregation",
|
|
"grouping": "Grouping",
|
|
"filtering": "Filtering",
|
|
"noColumnsFound": "No fields match the filters",
|
|
"selectRestaurant": "Select a restaurant to load the structure",
|
|
"loadError": "Error loading report structure",
|
|
"initSuccess": "Structure initialized successfully",
|
|
"initError": "Initialization error: {error}",
|
|
"selectRestaurantFirst": "Please select a restaurant",
|
|
"refreshStructure": "Refresh structure",
|
|
"refreshWarningTitle": "Full structure replacement",
|
|
"refreshWarningMessage": "You selected restaurant «{restaurant}». All existing OLAP fields data will be permanently deleted and replaced with data from this restaurant.",
|
|
"refreshWarningConfirm": "This action is irreversible. Continue?",
|
|
"searchRestaurant": "Search restaurant...",
|
|
"noRestaurantsFound": "No restaurants found",
|
|
"initializingData": "Initializing OLAP fields structure",
|
|
"refreshingData": "Refreshing OLAP fields structure",
|
|
"waitMessage": "Please wait. This operation may take a while...",
|
|
"editField": "Edit Field",
|
|
"displayType": "Display Type",
|
|
"updateSuccess": "Field updated successfully",
|
|
"updateError": "Error updating field",
|
|
"deleteSuccess": "Field deleted successfully",
|
|
"deleteError": "Error deleting field",
|
|
"deleteField": "Delete Field",
|
|
"deleteFieldConfirm": "Are you sure you want to delete this field? This action cannot be undone."
|
|
},
|
|
"olapQueries": {
|
|
"title": "OLAP Queries",
|
|
"createButton": "Create Query",
|
|
"lastRun": "Last Run",
|
|
"result": "Result",
|
|
"connection": "Connection",
|
|
"success": "Success",
|
|
"error": "Error",
|
|
"noQueries": "No queries. Create your first!",
|
|
"deleteQueriesTitle": "Delete query?",
|
|
"deleteQueriesMessage": "This action is irreversible. Are you sure?",
|
|
"loadError": "Failed to load queries",
|
|
"deleteSuccess": "Query deleted",
|
|
"deleteError": "Delete error"
|
|
},
|
|
"OlapConstructor": {
|
|
"titleNew": "New OLAP Query",
|
|
"titleEdit": "Edit Query",
|
|
"saveQuery": "Save Query",
|
|
"exportJson": "Export JSON",
|
|
"importJson": "Import JSON",
|
|
"fieldsTitle": "Fields",
|
|
"searchPlaceholder": "Search by name or tags",
|
|
"foundCount": "Found: {found} / {total}",
|
|
"loadingFields": "Loading fields...",
|
|
"noFields": "No fields. Initialize the structure in the OLAP Columns section first.",
|
|
"numericGroup": "Numeric → VALUES",
|
|
"categoryGroup": "Categories → ROW / COLUMN",
|
|
"filtersGroup": "Filters",
|
|
"resetAll": "Reset All",
|
|
"queryNameLabel": "Query name *",
|
|
"queryNamePlaceholder": "For example: Sales by day",
|
|
"valuePlaceholder": "value",
|
|
"IncludeValuesPlaceholder": "value1,value2",
|
|
"reportTypeLabel": "Report type",
|
|
"sqlTableLabel": "SQL table *",
|
|
"dateToLabel": "Date to (end of day)",
|
|
"daysBackLabel": "Days back (≥1)",
|
|
"summaryCheckbox": "Summary",
|
|
"activeCheckbox": "Active",
|
|
"restaurantsLabel": "Restaurants (multiple) *",
|
|
"selectRestaurants": "Select restaurants",
|
|
"selectedCount": "Selected: {count}",
|
|
"dbConnectionLabel": "Database connection *",
|
|
"selectDbConnection": "Select connection",
|
|
"tabTable": "Table",
|
|
"tabSql": "SQL script",
|
|
"copySql": "Copy SQL",
|
|
"defaultSqlPlaceholder": "-- Select a database connection to generate SQL",
|
|
"userFiltersTitle": "Custom filters",
|
|
"dropFilterHint": "Drop a filter field",
|
|
"rowHeader": "ROW",
|
|
"columnHeader": "COLUMN",
|
|
"valuesHeader": "VALUES",
|
|
"dropCategoryHint": "Drop a category",
|
|
"dropNumberHint": "Drop a number",
|
|
"resetModalTitle": "Reset All Settings",
|
|
"resetModalMessage": "Are you sure? All selected fields, filters, and settings will be deleted.",
|
|
"restaurantModalTitle": "Select Restaurants",
|
|
"restaurantSearchPlaceholder": "Search by name or host",
|
|
"noRestaurantsFound": "No restaurants found",
|
|
"dbModalTitle": "Database Connection",
|
|
"dbSearchPlaceholder": "Search by name",
|
|
"noConnectionsFound": "No connections found",
|
|
"exitModalTitle": "Unsaved Changes",
|
|
"exitModalMessage": "Are you sure you want to exit? All unsaved data will be lost.",
|
|
"exitModalStay": "Stay",
|
|
"exitModalLeave": "Leave",
|
|
"reportTypes": {
|
|
"SALES": "SALES",
|
|
"DELIVERIES": "DELIVERIES",
|
|
"TRANSACTIONS": "TRANSACTIONS"
|
|
},
|
|
"aggregations": {
|
|
"sum": "SUM",
|
|
"avg": "AVG",
|
|
"count": "COUNT"
|
|
},
|
|
"filterTypes": {
|
|
"IncludeValues": "Include Values",
|
|
"ExcludeValues": "Exclude Values",
|
|
"EnumValue": "Enum Value",
|
|
"StringValue": "String Value"
|
|
},
|
|
"notifications": {
|
|
"errorLoadRestaurants": "Couldn't load restaurant list",
|
|
"errorLoadDB": "The list of database connections could not be loaded",
|
|
"sqlGenerationError": "-- SQL generation error: {error}",
|
|
"exportSuccess": "iiko configuration exported",
|
|
"exportError": "Export error: {error}",
|
|
"importSuccess": "iiko configuration loaded",
|
|
"importError": "Error loading JSON: {error}",
|
|
"queryNameRequired": "Enter query name",
|
|
"dbConnectionRequired": "Select a database connection",
|
|
"restaurantsRequired": "Select at least one restaurant",
|
|
"tableNameRequired": "Specify SQL table name",
|
|
"saveSuccess": "Query saved",
|
|
"saveError": "Save error: {error}",
|
|
"loadQueryError": "Error loading query: {error}",
|
|
"resetSuccess": "All settings reset",
|
|
"sqlCopied": "SQL script copied",
|
|
"restaurantsSelected": "Restaurants selected",
|
|
"dbConnectionSelected": "Database connection selected",
|
|
"loadColumnsError": "Error loading fields: {error}"
|
|
}
|
|
},
|
|
"dbConnections": {
|
|
"pageName": "Databases",
|
|
"add": "Add Connection",
|
|
"edit": "Edit Connection",
|
|
"delete": "Delete Connection",
|
|
"deleteConfirmation": "Are you sure you want to delete this database connection? This action cannot be undone.",
|
|
"type": "Type",
|
|
"host": "Host",
|
|
"port": "Port",
|
|
"database": "Database",
|
|
"user": "User",
|
|
"test": "Test connection",
|
|
"noConnections": "No database connections found. Click 'Add Connection' to create one.",
|
|
"loadError": "Failed to load database connections.",
|
|
"testSuccess": "Connection successful! Latency: {latency} ms",
|
|
"testError": "Connection failed: {error}",
|
|
"testNetworkError": "Network error while testing connection: {error}",
|
|
"testUnknownError": "Unknown error",
|
|
"passwordRequired": "Password is required for new connection.",
|
|
"createSuccess": "Database connection created successfully.",
|
|
"updateSuccess": "Database connection updated successfully.",
|
|
"createError": "Failed to create database connection.",
|
|
"updateError": "Failed to update database connection.",
|
|
"deleteSuccess": "Database connection deleted successfully.",
|
|
"deleteError": "Failed to delete database connection."
|
|
}
|
|
}
|