- Implemented getNPCsCreationStatus method in AdminController to retrieve the status of NPC creation jobs. - Enhanced AdminService to manage NPC creation jobs, including job ID generation, progress updates, and error handling. - Updated frontend CreateNPCView to display progress of NPC creation, including estimated time remaining and job status. - Added localization strings for progress reporting in both German and English. - Improved overall user experience by providing real-time feedback during NPC creation processes.
321 lines
13 KiB
JSON
321 lines
13 KiB
JSON
{
|
||
"admin": {
|
||
"interests": {
|
||
"title": "[Admin] - Manage Interests",
|
||
"newinterests": {
|
||
"name": "Interest Name",
|
||
"status": "Approved",
|
||
"adultonly": "Adults Only",
|
||
"translations": "Translations",
|
||
"isactive": "Active",
|
||
"isadult": "Adults Only",
|
||
"delete": "Delete"
|
||
}
|
||
},
|
||
"contacts": {
|
||
"title": "[Admin] - Contact Requests",
|
||
"date": "Date",
|
||
"from": "From",
|
||
"actions": "Actions",
|
||
"open": "Edit",
|
||
"finished": "Complete"
|
||
},
|
||
"editcontactrequest": {
|
||
"title": "[Admin] - Edit Contact Request"
|
||
},
|
||
"user": {
|
||
"name": "Username",
|
||
"active": "Active",
|
||
"blocked": "Blocked",
|
||
"actions": "Actions",
|
||
"search": "Search"
|
||
},
|
||
"rights": {
|
||
"add": "Add right",
|
||
"select": "Please select",
|
||
"current": "Current rights"
|
||
},
|
||
"forum": {
|
||
"title": "[Admin] - Forum",
|
||
"currentForums": "Existing Forums",
|
||
"edit": "Edit",
|
||
"delete": "Delete",
|
||
"createForum": "Create",
|
||
"forumName": "Title",
|
||
"create": "Create",
|
||
"permissions": {
|
||
"label": "Permissions",
|
||
"all": "Everyone",
|
||
"admin": "Admins Only",
|
||
"teammember": "Team Members Only",
|
||
"user": "Specific Users Only",
|
||
"age": "Age 14+ Only"
|
||
},
|
||
"selectPermissions": "Please select",
|
||
"confirmDeleteMessage": "Do you really want to delete this forum?",
|
||
"confirmDeleteTitle": "Delete Forum"
|
||
},
|
||
"match3": {
|
||
"title": "Manage Match3 Levels",
|
||
"newLevel": "Create New Level",
|
||
"editLevel": "Edit Level",
|
||
"deleteLevel": "Delete Level",
|
||
"confirmDelete": "Do you really want to delete this level?",
|
||
"levelName": "Name",
|
||
"levelDescription": "Description",
|
||
"boardWidth": "Width",
|
||
"boardHeight": "Height",
|
||
"moveLimit": "Move Limit",
|
||
"levelOrder": "Order",
|
||
"boardLayout": "Board Layout",
|
||
"tileTypes": "Available Tile Types",
|
||
"actions": "Actions",
|
||
"edit": "Edit",
|
||
"delete": "Delete",
|
||
"save": "Save",
|
||
"cancel": "Cancel",
|
||
"update": "Update",
|
||
"create": "Create",
|
||
"boardControls": {
|
||
"fillAll": "Activate All",
|
||
"clearAll": "Deactivate All",
|
||
"invert": "Invert"
|
||
},
|
||
"loading": "Loading levels...",
|
||
"retry": "Retry",
|
||
"availableLevels": "Available Levels: {count}",
|
||
"levelFormat": "Level {number}: {name}",
|
||
"levelObjectives": "Level Objectives",
|
||
"objectivesTitle": "Victory Conditions",
|
||
"addObjective": "Add Objective",
|
||
"removeObjective": "Remove",
|
||
"objectiveType": "Type",
|
||
"objectiveTypeScore": "Collect Score",
|
||
"objectiveTypeMatches": "Make Matches",
|
||
"objectiveTypeMoves": "Use Moves",
|
||
"objectiveTypeTime": "Keep Time",
|
||
"objectiveTypeSpecial": "Special Goal",
|
||
"objectiveOperator": "Operator",
|
||
"operatorGreaterEqual": "Greater or equal (≥)",
|
||
"operatorLessEqual": "Less or equal (≤)",
|
||
"operatorEqual": "Equal (=)",
|
||
"operatorGreater": "Greater than (>)",
|
||
"operatorLess": "Less than (<)",
|
||
"objectiveTarget": "Target Value",
|
||
"objectiveTargetPlaceholder": "e.g. 100",
|
||
"objectiveOrder": "Order",
|
||
"objectiveOrderPlaceholder": "1, 2, 3...",
|
||
"objectiveDescription": "Description",
|
||
"objectiveDescriptionPlaceholder": "e.g. Collect 100 points",
|
||
"objectiveRequired": "Required for level completion",
|
||
"noObjectives": "No victory conditions defined. Click 'Add Objective' to create some."
|
||
},
|
||
"falukant": {
|
||
"edituser": {
|
||
"title": "Edit Falukant User",
|
||
"username": "Username",
|
||
"characterName": "Character Name",
|
||
"user": "User",
|
||
"success": "Changes have been saved.",
|
||
"error": "Changes could not be saved.",
|
||
"errorLoadingBranches": "Error loading branches.",
|
||
"errorUpdatingStock": "Error updating warehouse.",
|
||
"stockUpdated": "Warehouse successfully updated.",
|
||
"search": "Search",
|
||
"tabs": {
|
||
"userdata": "User Data",
|
||
"branches": "Branches"
|
||
},
|
||
"branches": {
|
||
"title": "Branches & Warehouse",
|
||
"noStocks": "No warehouse available",
|
||
"noBranches": "No branches found",
|
||
"addStock": "Add Warehouse",
|
||
"stockType": "Warehouse Type",
|
||
"selectStockType": "Select warehouse type",
|
||
"quantity": "Quantity",
|
||
"allStocksAdded": "All available warehouse types are already present"
|
||
},
|
||
"errorLoadingStockTypes": "Error loading warehouse types.",
|
||
"errorAddingStock": "Error adding warehouse.",
|
||
"stockAdded": "Warehouse successfully added.",
|
||
"invalidStockData": "Please enter valid warehouse type and quantity."
|
||
},
|
||
"createNPC": {
|
||
"title": "Create NPCs",
|
||
"region": "City",
|
||
"allRegions": "All Cities",
|
||
"ageRange": "Age Range",
|
||
"to": "to",
|
||
"years": "years",
|
||
"titleRange": "Title Range",
|
||
"count": "Count per City-Title Combination",
|
||
"countHelp": "This count will be created for each combination of selected city and title.",
|
||
"create": "Create NPCs",
|
||
"creating": "Creating...",
|
||
"result": "Result",
|
||
"createdCount": "{count} NPCs have been created.",
|
||
"combinationInfo": "{perCombination} NPCs per combination × {combinations} combinations = {count} NPCs total",
|
||
"age": "Age",
|
||
"errorLoadingRegions": "Error loading cities.",
|
||
"errorLoadingTitles": "Error loading titles.",
|
||
"errorCreating": "Error creating NPCs.",
|
||
"invalidAgeRange": "Invalid age range.",
|
||
"invalidTitleRange": "Invalid title range.",
|
||
"invalidCount": "Invalid count (1-500).",
|
||
"progress": "Progress",
|
||
"progressDetails": "{current} of {total} NPCs created",
|
||
"timeRemainingSeconds": "Time remaining: {seconds} seconds",
|
||
"timeRemainingMinutes": "Time remaining: {minutes} minutes {seconds} seconds",
|
||
"almostDone": "Almost done...",
|
||
"jobNotFound": "Job not found or expired."
|
||
}
|
||
},
|
||
"chatrooms": {
|
||
"title": "[Admin] - Manage Chat Rooms",
|
||
"roomName": "Room Name",
|
||
"create": "Create Chat Room",
|
||
"edit": "Edit Chat Room",
|
||
"type": "Type",
|
||
"isPublic": "Publicly Visible",
|
||
"actions": "Actions",
|
||
"genderRestriction": {
|
||
"show": "Enable Gender Restriction",
|
||
"label": "Gender Restriction"
|
||
},
|
||
"minAge": {
|
||
"show": "Specify Minimum Age",
|
||
"label": "Minimum Age"
|
||
},
|
||
"maxAge": {
|
||
"show": "Specify Maximum Age",
|
||
"label": "Maximum Age"
|
||
},
|
||
"password": {
|
||
"show": "Enable Password Protection",
|
||
"label": "Password"
|
||
},
|
||
"friendsOfOwnerOnly": "Friends of Owner Only",
|
||
"requiredUserRight": {
|
||
"show": "Specify Required User Right",
|
||
"label": "Required User Right"
|
||
},
|
||
"roomtype": {
|
||
"chat": "Chat",
|
||
"dice": "Dice",
|
||
"poker": "Poker",
|
||
"hangman": "Hangman"
|
||
},
|
||
"rights": {
|
||
"talk": "Talk",
|
||
"scream": "Scream",
|
||
"whisper": "Whisper",
|
||
"start game": "Start Game",
|
||
"open room": "Open Room",
|
||
"systemmessage": "System Message"
|
||
},
|
||
"confirmDelete": "Do you really want to delete this chat room?"
|
||
},
|
||
"userStatistics": {
|
||
"title": "[Admin] - User Statistics",
|
||
"totalUsers": "Total Users",
|
||
"genderDistribution": "Gender Distribution",
|
||
"ageDistribution": "Age Distribution"
|
||
},
|
||
"taxiTools": {
|
||
"title": "Taxi Tools",
|
||
"description": "Manage Taxi maps, levels and configurations",
|
||
"mapEditor": {
|
||
"title": "Edit Map",
|
||
"availableMaps": "Available Maps: {count}",
|
||
"newMap": "Create New Map",
|
||
"mapFormat": "{name} (Position: {x},{y})",
|
||
"mapName": "Map Name",
|
||
"mapDescription": "Description",
|
||
"mapWidth": "Width",
|
||
"mapHeight": "Height",
|
||
"tileSize": "Tile Size",
|
||
"positionX": "X Position",
|
||
"positionY": "Y Position",
|
||
"mapType": "Map Type",
|
||
"mapLayout": "Map Layout",
|
||
"tilePalette": "Tile Palette",
|
||
"streetNames": "Street names",
|
||
"extraElements": "Additional elements",
|
||
"streetNameHorizontal": "Street name (horizontal)",
|
||
"streetNameVertical": "Street name (vertical)",
|
||
"continueHorizontal": "Continue in other direction (→)",
|
||
"continueVertical": "Continue in other direction (↓)",
|
||
"continueOther": "Continue in other direction",
|
||
"position": "Position",
|
||
"fillAllRoads": "All Roads",
|
||
"clearAll": "Clear All",
|
||
"generateRandom": "Generate Random",
|
||
"delete": "Delete",
|
||
"update": "Update",
|
||
"cancel": "Cancel",
|
||
"create": "Create",
|
||
"createSuccess": "Map created successfully!",
|
||
"updateSuccess": "Map updated successfully!",
|
||
"deleteSuccess": "Map deleted successfully!"
|
||
}
|
||
},
|
||
"servicesStatus": {
|
||
"title": "Service Status",
|
||
"description": "Monitor the status of Backend, Chat and Daemon",
|
||
"status": {
|
||
"connected": "Connected",
|
||
"connecting": "Connecting...",
|
||
"disconnected": "Disconnected",
|
||
"error": "Error",
|
||
"unknown": "Unknown"
|
||
},
|
||
"backend": {
|
||
"title": "Backend",
|
||
"connected": "Backend service is reachable and connected"
|
||
},
|
||
"chat": {
|
||
"title": "Chat",
|
||
"connected": "Chat service is reachable and connected"
|
||
},
|
||
"daemon": {
|
||
"title": "Daemon",
|
||
"connected": "Daemon service is reachable and connected",
|
||
"connections": {
|
||
"title": "Active Connections",
|
||
"none": "No active connections",
|
||
"userId": "User ID",
|
||
"username": "Username",
|
||
"connections": "connections",
|
||
"duration": "Connection Duration",
|
||
"lastPong": "Time Since Last Pong",
|
||
"pingTimeouts": "Ping Timeouts",
|
||
"pongReceived": "Pong Received",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"notConnected": "Daemon not connected",
|
||
"sendError": "Error sending request",
|
||
"error": "Error fetching connections"
|
||
},
|
||
"websocketLog": {
|
||
"title": "WebSocket Log",
|
||
"showLog": "Show WebSocket Log",
|
||
"refresh": "Refresh",
|
||
"loading": "Loading...",
|
||
"close": "Close",
|
||
"entryCount": "{count} entries",
|
||
"noEntries": "No log entries available",
|
||
"notConnected": "Daemon not connected",
|
||
"sendError": "Error sending request",
|
||
"parseError": "Error parsing response",
|
||
"timestamp": "Timestamp",
|
||
"direction": "Direction",
|
||
"peer": "Peer",
|
||
"connUser": "Connection User",
|
||
"targetUser": "Target User",
|
||
"event": "Event"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} |