refactor: 优化主界面布局与通知系统

重构App.vue,首页独立无侧边栏,其他页面采用统一侧边栏布局。新增右下角固定通知区,集成返回顶部、队列通知、外交通知和敌方警报。移除新手引导组件,替换为弱引导提示系统。支持星球重命名弹窗。优化NPC成长与行为定时器逻辑,提升性能和可维护性。删除issue模板及相关文档描述。
This commit is contained in:
谦君
2025-12-19 12:01:45 +08:00
parent a689ce21b7
commit 752cade67c
61 changed files with 5774 additions and 2817 deletions

View File

@@ -1,4 +1,13 @@
export default {
home: {
subtitle: 'Conquer the Stars',
startGame: 'Start Game',
privacyAgreement: 'Privacy Agreement',
privacyAgreementDesc: 'Please read and agree to our privacy policy before starting the game.',
agreeToPrivacy: 'I have read and agree to',
viewFullPolicy: 'View Full Policy',
agreeAndStart: 'Agree & Start'
},
common: {
confirm: 'Confirm',
cancel: 'Cancel',
@@ -35,7 +44,8 @@ export default {
requirementsNotMet: 'Requirements Not Met',
current: 'Current',
level: 'Level',
gmModeActivated: 'GM Mode Activated! Check the navigation menu.'
gmModeActivated: 'GM Mode Activated! Check the navigation menu.',
view: 'View'
},
errors: {
requirementsNotMet: 'Requirements not met',
@@ -112,7 +122,13 @@ export default {
homePlanet: 'Home Planet',
planetPrefix: 'Planet',
moonSuffix: "'s Moon",
colonyPrefix: 'Colony'
colonyPrefix: 'Colony',
renamePlanet: 'Rename Planet',
renamePlanetTitle: 'Rename Planet',
newPlanetName: 'New Name',
planetNamePlaceholder: 'Enter new planet name',
rename: 'Rename',
renameSuccess: 'Planet renamed to {name}'
},
player: {
points: 'Total Points'
@@ -282,7 +298,8 @@ export default {
hyperspaceTechnology: 'Hyperspace jump technology',
plasmaTechnology: 'Plasma weapon technology',
computerTechnology: 'Increases research queue and fleet mission slots, +1 queue +1 slot per level (max 10 levels)',
espionageTechnology: 'Improves spy probe effectiveness, +1 espionage level per level. Spy level = your level - enemy level + probes/5. ≥-1 shows fleet, ≥1 shows defense, ≥3 shows buildings, ≥5 shows technologies',
espionageTechnology:
'Improves spy probe effectiveness, +1 espionage level per level. Spy level = your level - enemy level + probes/5. ≥-1 shows fleet, ≥1 shows defense, ≥3 shows buildings, ≥5 shows technologies',
weaponsTechnology: 'Increases ship and defense attack power by 10% per level',
shieldingTechnology: 'Increases ship and defense shields by 10% per level',
armourTechnology: 'Increases ship and defense armour by 10% per level',
@@ -315,8 +332,8 @@ export default {
darkMatterSpecialist: 'Improves dark matter collection efficiency'
},
queue: {
title: 'Build Queue',
empty: 'No active tasks',
title: 'Active Tasks',
empty: 'No active queues',
buildQueueBonus: 'Build Queue',
spaceBonus: 'Space Bonus',
buildSpeedBonus: 'Build Speed Bonus',
@@ -332,7 +349,14 @@ export default {
confirmCancel: 'Are you sure you want to cancel? 50% of resources will be refunded.',
level: 'Level',
quantity: 'Quantity',
upgradeToLevel: 'Upgrade to Level'
upgradeToLevel: 'Upgrade to Level',
tabs: {
all: 'All',
buildings: 'Buildings',
research: 'Research',
ships: 'Ships',
defense: 'Defense'
}
},
overview: {
title: 'Planet Overview',
@@ -590,7 +614,8 @@ export default {
debris: 'Debris',
giftPlanetTitle: 'Send Gift',
giftPlanetMessage:
'Are you sure you want to send resources as a gift to planet [{coordinates}]?\n\nPlease go to the fleet page to select transport ships and load resources.'
'Are you sure you want to send resources as a gift to planet [{coordinates}]?\n\nPlease go to the fleet page to select transport ships and load resources.',
npcPlanetName: "{name}'s Planet"
},
messagesView: {
title: 'Messages',
@@ -622,6 +647,9 @@ export default {
buildings: 'Buildings',
unread: 'Unread',
targetPlanet: 'Target Planet',
attackerRemaining: 'Attacker Remaining',
defenderRemaining: 'Defender Remaining',
allDestroyed: 'All destroyed',
spied: 'Spied',
spiedNotification: 'Spied Notification',
noSpiedNotifications: 'No spied notifications',
@@ -681,7 +709,18 @@ export default {
activityDescription: 'Activity Description',
npcActivityMessage: '{npc} is {activity} at {position}',
arrivalTime: 'Arrival Time',
npcActivityTip: 'NPCs may collect debris from battles. You can try to reach the location first if you want to compete for resources'
npcActivityTip: 'NPCs may collect debris from battles. You can try to reach the location first if you want to compete for resources',
// Clear messages
clearMessages: 'Clear Messages',
clearMessageTypes: 'Select message types to clear',
clearBattleReports: 'Battle Reports',
clearSpyReports: 'Spy Reports',
clearSpiedNotifications: 'Spied Notifications',
clearMissionReports: 'Mission Reports',
clearNPCActivity: 'NPC Activity',
clearGiftNotifications: 'Gift Notifications',
clearGiftRejected: 'Rejected Gifts',
clearNow: 'Clear Now'
},
missionReports: {
transportSuccess: 'Transport mission completed successfully',
@@ -789,6 +828,11 @@ export default {
community: 'Community',
github: 'GitHub Repository',
qqGroup: 'QQ Group',
privacyPolicy: 'Privacy Policy',
displaySettings: 'Display Settings',
displaySettingsDesc: 'Adjust visual effects',
backgroundAnimation: 'Background Animation',
backgroundAnimationDesc: 'Show starfield/particle background animation (may affect performance)',
notifications: 'Notification Settings',
notificationsDesc: 'Manage in-game notification alerts',
notificationTypes: 'Notification Types',
@@ -872,6 +916,7 @@ export default {
'Completed {buildingCount} building queues, {researchCount} research queues, {missionCount} fleet missions, {missileCount} missile attacks'
},
alerts: {
incomingFleets: '{count} Incoming Enemy Fleets',
npcSpyIncoming: 'NPC Spy Probe Incoming',
npcAttackIncoming: 'NPC Fleet Attack Incoming!',
npcFleetIncoming: 'NPC Fleet Approaching',
@@ -883,6 +928,30 @@ export default {
npcSpiedYourPlanet: 'NPC spied your planet',
npcAttackedYourPlanet: 'NPC attacked your planet'
},
enemyAlert: {
title: 'Enemy Alert',
markAllRead: 'Mark All Read',
noAlerts: 'No alerts',
fleetSize: 'Fleet Size',
ships: 'ships',
viewFleet: 'View Fleet',
alertDetails: 'Alert Details',
targetInfo: 'Target Info',
arrivalTime: 'Arrival Time',
countdown: 'Countdown',
viewMessages: 'View Messages',
arrived: 'Arrived',
missionType: {
spy: 'Spy',
attack: 'Attack',
unknown: 'Unknown'
},
warning: {
spy: 'Enemy spy incoming!',
attack: 'Enemy attack incoming!',
unknown: 'Enemy fleet incoming!'
}
},
diplomacy: {
title: 'Diplomacy',
description: 'Manage diplomatic relations with NPCs',
@@ -915,8 +984,13 @@ export default {
more: 'more',
actions: {
gift: 'Send Gift',
viewPlanets: 'View Planets'
viewPlanets: 'View Planets',
addNote: 'Add Note',
editNote: 'Edit Note'
},
note: 'Note',
notePlaceholder: 'Enter note...',
noteEmpty: 'No note',
lastEvent: 'Last Event',
reportDetails: 'Diplomatic Report Details',
eventDescription: 'Event Description',
@@ -925,6 +999,15 @@ export default {
after: 'After',
statusChange: 'Status Change',
viewDiplomacy: 'View Diplomacy Page',
eventType: {
gift: 'Sent resources',
attack: 'Launched an attack',
allyAttacked: 'Attacked an ally',
spy: 'Conducted espionage',
stealDebris: 'Stole debris',
destroyPlanet: 'Destroyed a planet',
unknown: 'Unknown event'
},
events: {
gift: 'Sent Gift',
attack: 'Attack',
@@ -961,6 +1044,50 @@ export default {
allyOutraged: "{allyName} is outraged that you destroyed their ally {targetName}'s {planetName}",
npcEliminated: 'NPC {npcName} has been completely eliminated',
npcEliminatedMessage: "You destroyed all of {npcName}'s planets! This faction has been completely wiped out."
},
searchPlaceholder: 'Search NPC name...',
viewMode: {
card: 'Card',
list: 'List'
},
diagnostic: {
button: 'NPC Diagnostic',
title: 'NPC Status Diagnostic',
description:
'Player points: {points}, Spy interval: {spyInterval}min, Attack interval: {attackInterval}min, Attack probability: {attackProb}%',
noData: 'No NPC data',
difficulty: 'Difficulty',
difficultyLevels: {
easy: 'Easy',
medium: 'Medium',
hard: 'Hard'
},
reputation: 'Reputation',
spyProbes: 'Spy Probes',
fleetPower: 'Fleet Power',
canSpy: 'Can Spy',
canAttack: 'Can Attack',
attackProbability: 'Attack Probability',
nextSpy: 'Next Spy',
nextAttack: 'Next Attack',
yes: 'Yes',
no: 'No',
timeFormat: '{min}m {sec}s',
anytime: 'Anytime',
statusExplanation: 'Status Explanation',
noRelation: 'No Relation',
noRelationNeutral: 'No Relation (Neutral)',
reasons: {
friendlyNoAction: 'Friendly relationship, will not act',
neutralNoAction: 'Neutral relationship, will not act',
hostileWillAct: 'Hostile relationship, may take action',
noRelationNeutral: 'No diplomatic relation, treated as neutral',
insufficientProbes: 'Insufficient probes (Current: {current}, Required: {required})',
noFleet: 'No combat fleet',
spyCooldown: 'Spy on cooldown ({min}m {sec}s)',
attackCooldown: 'Attack on cooldown ({min}m {sec}s)',
notSpiedYet: 'Not yet spied, need to spy first'
}
}
},
pagination: {
@@ -975,6 +1102,53 @@ export default {
description: 'Sorry, the page you are looking for does not exist',
goHome: 'Go Home'
},
privacy: {
title: 'Privacy Policy',
sections: {
introduction: {
title: 'Introduction',
content:
'This privacy policy explains how OGame-Vue-Ts handles your data. We are committed to protecting your privacy, and this game is designed with complete respect for user privacy.'
},
dataCollection: {
title: 'Data Collection',
content: 'This game only collects and stores the following data locally in your browser:',
items: {
gameProgress: 'Game progress (building levels, fleets, resources, etc.)',
settings: 'Game settings (notification preferences, display options, etc.)',
language: 'Language preference'
}
},
dataStorage: {
title: 'Data Storage',
content:
"All data is stored in your browser's local storage (localStorage). This means your data always remains on your own device, and we cannot access, view, or collect any of your game data."
},
noServer: {
title: 'No Server Communication',
content:
'This game is a completely offline single-player game. Except for the update check feature (which fetches version information from GitHub), the game does not communicate with any server. Your game data never leaves your device.'
},
thirdParty: {
title: 'Third-Party Services',
content:
'This game uses third-party analytics services to track visitor statistics and traffic sources, helping us understand usage patterns and improve the gaming experience. This analytics data is anonymous and does not contain any personally identifiable information. We do not use any advertising services or other commercial tracking tools.'
},
dataControl: {
title: 'Data Control',
content: 'You have complete control over your data:',
items: {
export: 'You can export your game data at any time',
import: 'You can import data from backup files',
delete: 'You can delete all data by clearing browser data or using the in-game "Clear Data" feature'
}
},
contact: {
title: 'Contact Us',
content: 'If you have any questions about this privacy policy, please contact us via:'
}
}
},
time: {
days: 'days',
hours: 'hours',
@@ -1131,5 +1305,72 @@ export default {
"Great! You've mastered the basics. Continue building Crystal and Deuterium facilities, then explore other features. Remember: energy first, then resources!"
}
}
},
hints: {
close: 'Close',
gotIt: 'Got it',
dontShowAgain: "Don't show again",
resetHints: 'Reset Hints',
resetHintsDesc: 'Show all hints again',
hintsEnabled: 'Enable Hints',
hintsEnabledDesc: 'Show helpful hints when visiting pages',
overview: {
title: 'Planet Overview',
message: 'Here you can see your planet resources, fleet status, and production details. Check back often to monitor your progress!'
},
buildings: {
title: 'Buildings',
message:
'Build and upgrade structures here. Start with Solar Plant for energy, then resource mines. Tip: Robotics Factory speeds up construction!'
},
research: {
title: 'Research Lab',
message:
'Research technologies to unlock new ships, improve combat, and advance your civilization. Energy Technology is a great start!'
},
shipyard: {
title: 'Shipyard',
message: 'Build ships to explore, transport resources, and defend your empire. Cargo ships help move resources between planets.'
},
fleet: {
title: 'Fleet Command',
message: 'Send your ships on missions: attack enemies, transport resources, colonize new planets, or explore debris fields.'
},
galaxy: {
title: 'Galaxy Map',
message:
'Explore the galaxy to find empty planets to colonize, debris fields to harvest, and enemies to attack. Use spy probes first!'
},
diplomacy: {
title: 'Diplomacy',
message:
'Manage relations with NPCs. Send gifts to improve reputation, or face hostile attacks. Allies of your enemies may turn hostile too!'
},
messages: {
title: 'Messages',
message: 'View battle reports, spy reports, and diplomatic notifications here. Keep track of your activities and enemy encounters.'
},
defense: {
title: 'Planetary Defense',
message: 'Build defense structures to protect your planet from attacks. Shield domes and turrets can deter raiders!'
},
officers: {
title: 'Officers',
message:
'Recruit officers to gain various bonuses! Commander speeds up construction, Geologist boosts resource production, Admiral enhances fleet capabilities.'
},
simulator: {
title: 'Battle Simulator',
message: 'Simulate battle outcomes before attacking. Enter both fleets and tech levels to predict victory, losses, and loot.'
},
settings: {
title: 'Settings',
message: 'Manage game data, adjust notifications, export/import saves here. Remember to backup your progress regularly!'
},
gm: {
title: 'GM Panel',
message:
'GM mode allows quick modification of resources, buildings, and tech levels. Use it for testing or experiencing full game content.'
}
}
}