481 lines
21 KiB
JSON
481 lines
21 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"
|
||
},
|
||
"vocabLessonReset": {
|
||
"title": "Language course: lesson progress",
|
||
"intro": "Delete progress, exercise results and saved lesson state for a single lesson (not the whole course). Only language courses this user is enrolled in are listed.",
|
||
"loadCourses": "Load enrolled courses",
|
||
"selectCourse": "Course",
|
||
"selectLesson": "Lesson",
|
||
"reset": "Reset lesson for this user",
|
||
"confirm": "Really delete progress for lesson “{lesson}” for {username}?",
|
||
"success": "Lesson progress was reset.",
|
||
"error": "Reset failed.",
|
||
"pickUserFirst": "Select a user first.",
|
||
"noEnrolledCourses": "This user is not enrolled in any language course.",
|
||
"loadCoursesError": "Could not load the course list.",
|
||
"loadingLessons": "Loading lessons…"
|
||
},
|
||
"vocabLessonMarkComplete": {
|
||
"divider": "Repair progress (does not fabricate exercise answers)",
|
||
"throughLabel": "All lessons up to and including lesson number",
|
||
"hint": "Marks missing or open rows as completed, including target score and first review wave. Already completed lessons are left unchanged.",
|
||
"submit": "Mark through here as completed",
|
||
"confirm": "Mark every lesson with number ≤ {n} for {username} in this course as completed?",
|
||
"success": "{marked} lesson(s) newly marked complete ({unchanged} were already done).",
|
||
"successNone": "No change: all affected lessons ({unchanged}) were already completed.",
|
||
"error": "Could not mark lessons complete."
|
||
},
|
||
"adultVerification": {
|
||
"title": "[Admin] - Erotic approvals",
|
||
"intro": "Adult users can request access to the erotic area. Requests can be reviewed, approved or rejected here.",
|
||
"username": "User",
|
||
"age": "Age",
|
||
"statusLabel": "Status",
|
||
"requestLabel": "Proof",
|
||
"actions": "Actions",
|
||
"approve": "Approve",
|
||
"reject": "Reject",
|
||
"resetPending": "Set pending",
|
||
"openDocument": "Open document",
|
||
"previewTitle": "Proof preview",
|
||
"closePreview": "Close preview",
|
||
"previewUnavailable": "No inline preview is available for this file type.",
|
||
"documentMissing": "The verification file was not found on the server.",
|
||
"empty": "No matching requests found.",
|
||
"loadError": "Could not load approvals.",
|
||
"updateError": "Could not update the status.",
|
||
"documentError": "Could not open the document.",
|
||
"filters": {
|
||
"pending": "Pending",
|
||
"approved": "Approved",
|
||
"rejected": "Rejected",
|
||
"all": "All"
|
||
},
|
||
"status": {
|
||
"none": "Not requested",
|
||
"pending": "Pending",
|
||
"approved": "Approved",
|
||
"rejected": "Rejected"
|
||
},
|
||
"messages": {
|
||
"approved": "Approval granted.",
|
||
"rejected": "Approval rejected.",
|
||
"pending": "Request set back to pending."
|
||
}
|
||
},
|
||
"eroticModeration": {
|
||
"title": "[Admin] - Erotic moderation",
|
||
"intro": "Reported erotic pictures and videos can be reviewed, hidden, deleted, or escalated against the account here.",
|
||
"empty": "No matching reports found.",
|
||
"loadError": "The reports could not be loaded.",
|
||
"actionError": "The moderation action could not be completed.",
|
||
"actionSuccess": "The moderation action was saved.",
|
||
"target": "Target",
|
||
"owner": "Owner",
|
||
"reporter": "Reporter",
|
||
"reason": "Reason",
|
||
"statusLabel": "Status",
|
||
"meta": "Time / action",
|
||
"actions": "Actions",
|
||
"image": "Image",
|
||
"video": "Video",
|
||
"hidden": "Hidden",
|
||
"preview": "Preview",
|
||
"previewError": "The preview could not be loaded.",
|
||
"dismiss": "Dismiss",
|
||
"hide": "Hide",
|
||
"restore": "Restore",
|
||
"delete": "Delete",
|
||
"blockUploads": "Block uploads",
|
||
"revokeAccess": "Revoke erotic access",
|
||
"notePrompt": "Note for this moderation action",
|
||
"actionLabels": {
|
||
"dismiss": "Dismissed",
|
||
"hide_content": "Hidden",
|
||
"restore_content": "Restored",
|
||
"delete_content": "Deleted",
|
||
"block_uploads": "Uploads blocked",
|
||
"revoke_access": "Access revoked"
|
||
},
|
||
"filters": {
|
||
"open": "Open",
|
||
"actioned": "Actioned",
|
||
"dismissed": "Dismissed",
|
||
"all": "All"
|
||
},
|
||
"status": {
|
||
"open": "Open",
|
||
"actioned": "Actioned",
|
||
"dismissed": "Dismissed"
|
||
}
|
||
},
|
||
"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.",
|
||
"pregnancy": {
|
||
"title": "Pregnancy (admin)",
|
||
"characterId": "Character ID",
|
||
"status": "Status",
|
||
"statusActive": "Expecting until",
|
||
"statusNone": "Not pregnant",
|
||
"fatherId": "Father character ID (optional)",
|
||
"fatherSelect": "Father (spouse / fiancé(e) / lover)",
|
||
"fatherNone": "— no father stored —",
|
||
"fatherHintList": "From this character’s relationships (marriage, engagement, active affair).",
|
||
"fatherHintManual": "No matching partner in the database: enter the father’s character ID manually.",
|
||
"fatherManualPlaceholder": "Character ID",
|
||
"dueDays": "Days until due date",
|
||
"dueDaysHint": "0 = due today (birth may follow depending on game logic).",
|
||
"force": "Set pregnancy",
|
||
"clear": "Clear pregnancy",
|
||
"successForce": "Pregnancy has been set.",
|
||
"successClear": "Pregnancy has been cleared.",
|
||
"error": "Action failed.",
|
||
"relationship": {
|
||
"married": "Spouse",
|
||
"engaged": "Engaged partner",
|
||
"lover": "Lover"
|
||
}
|
||
},
|
||
"birth": {
|
||
"title": "Force birth (admin)",
|
||
"motherHint": "The character listed above is used as the mother.",
|
||
"fatherId": "Father character ID",
|
||
"fatherSelect": "Father (spouse / fiancé(e) / lover)",
|
||
"fatherChoose": "— choose father —",
|
||
"fatherHintList": "From this character’s relationships.",
|
||
"fatherHintManual": "No partner in the list: enter the father’s character ID manually.",
|
||
"fatherRequired": "Please select a father or enter the character ID.",
|
||
"context": "Context",
|
||
"contextMarriage": "Marriage",
|
||
"contextLover": "Affair",
|
||
"legitimacy": "Legitimacy",
|
||
"legitimate": "Legitimate",
|
||
"ackBastard": "Acknowledged bastard",
|
||
"hiddenBastard": "Hidden bastard",
|
||
"gender": "Child gender",
|
||
"genderRandom": "Random",
|
||
"male": "Male",
|
||
"female": "Female",
|
||
"force": "Trigger birth",
|
||
"success": "Child created (baptism pending).",
|
||
"error": "Could not trigger birth."
|
||
}
|
||
},
|
||
"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",
|
||
"isAdultOnly": "Erotic area only",
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|