feat: 新增Android平台支持及构建流程

集成Android平台相关目录与配置文件,包含Gradle构建脚本、资源文件、启动图标、Java入口、Proguard规则等,完善.gitignore以排除Android构建产物。更新CI流程,支持自动构建并发布Android APK。移除README中项目结构说明,简化文档。
This commit is contained in:
谦君
2025-12-20 00:48:36 +08:00
parent 20fb2bb6a4
commit 1368bb4445
97 changed files with 7859 additions and 335 deletions

View File

@@ -81,6 +81,7 @@ export default {
simulator: 'Simulator',
galaxy: 'Galaxy',
diplomacy: 'Diplomacy',
achievements: 'Achievements',
messages: 'Messages',
settings: 'Settings',
gm: 'GM'
@@ -108,6 +109,14 @@ export default {
hour: 'hour',
noEnergy: 'No Energy'
},
energy: {
lowWarning: 'Energy deficit! Resource production stopped!',
severeWarning: 'Energy deficit! Resource production stopped!',
criticalWarning: 'Energy deficit! Resource production stopped!',
noProduction: 'Energy deficit! Resource production stopped!',
deficitDetail: 'Energy deficit: {deficit}, build more power plants',
buildSolarPlant: 'Build Power Plant'
},
planet: {
planet: 'Planet',
moon: 'Moon',
@@ -419,6 +428,7 @@ export default {
shipyardView: {
title: 'Shipyard',
fleetStorage: 'Fleet Storage',
owned: 'Owned',
attack: 'Attack',
missileAttack: 'Missile Attack',
shield: 'Shield',
@@ -482,6 +492,9 @@ export default {
available: 'Available',
all: 'All',
targetCoordinates: 'Target Coordinates',
targetType: 'Target Type',
planet: 'Planet',
moon: 'Moon',
galaxy: 'Galaxy',
system: 'System',
position: 'Position',
@@ -528,7 +541,47 @@ export default {
noDeathstar: 'Deathstar required for destruction mission',
giftMode: 'Gift Mode',
giftModeDescription: 'Send resources as a gift to',
estimatedReputationGain: 'Estimated reputation gain'
estimatedReputationGain: 'Estimated reputation gain',
// Fleet presets
fleetPresets: 'Fleet Presets',
fleetPresetsDescription: 'Save common fleet configurations for quick dispatch (max 3)',
savePreset: 'Save Preset',
noPresets: 'No presets yet, select fleet and click "Save Preset" to create',
shipTypes: 'ship types',
editPreset: 'Edit preset content',
renamePreset: 'Rename',
deletePreset: 'Delete preset',
editingPresetHint: 'Editing preset, modify fleet configuration and click "Save" to update',
presetLimitReached: 'Preset limit reached',
presetLimitReachedMessage: 'Maximum of {max} presets allowed',
presetError: 'Save failed',
presetNoShips: 'Please select at least one ship first',
presetDefaultName: 'Preset {number}',
savePresetTitle: 'Save Fleet Preset',
savePresetDescription: 'Name this fleet configuration',
renamePresetTitle: 'Rename Preset',
renamePresetDescription: 'Enter a new preset name',
presetName: 'Preset Name',
presetNamePlaceholder: 'Enter preset name',
deletePresetTitle: 'Delete Preset',
deletePresetMessage: 'Are you sure you want to delete preset "{name}"? This action cannot be undone.',
// Jump Gate
jumpGate: 'Jump Gate',
jumpGateDescription: 'Use the Jump Gate to instantly transfer fleet to another moon with Jump Gate',
jumpGateNotAvailable: 'Jump Gate Not Available',
jumpGateRequiresMoon: 'Jump Gate can only be used on moons',
jumpGateNotBuilt: 'Current moon does not have a Jump Gate',
jumpGateCooldown: 'Jump Gate Cooling Down',
jumpGateCooldownRemaining: 'Cooldown Remaining',
jumpGateReady: 'Jump Gate Ready',
jumpGateSelectTarget: 'Select Target Moon',
jumpGateNoTargetMoons: 'No available target moons (requires Jump Gate and cooldown complete)',
jumpGateSelectFleet: 'Select Fleet to Transfer',
jumpGateTransfer: 'Transfer Fleet',
jumpGateSuccess: 'Jump Gate Transfer Successful',
jumpGateSuccessMessage: 'Fleet has been instantly transferred to {target}',
jumpGateFailed: 'Jump Gate Transfer Failed',
jumpGateFailedMessage: 'Please check Jump Gate status and fleet configuration'
},
officersView: {
title: 'Officers',
@@ -616,7 +669,26 @@ export default {
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.',
npcPlanetName: "{name}'s Planet"
npcPlanetName: "{name}'s Planet",
// Sensor Phalanx Scan
phalanxScan: 'Phalanx Scan',
phalanxScanTitle: 'Sensor Phalanx Scan',
phalanxScanDescription: 'Scanning fleet activity at planet [{coordinates}]',
phalanxNoMoon: 'Requires a moon with Sensor Phalanx to scan',
phalanxOutOfRange: 'Target is out of scan range',
phalanxRange: 'Scan Range',
phalanxCost: 'Scan Cost',
phalanxNoFleets: 'No fleet activity detected',
phalanxFleetDetected: '{count} fleet(s) detected',
phalanxMission: 'Mission',
phalanxOrigin: 'Origin',
phalanxDestination: 'Destination',
phalanxArrival: 'Arrival',
phalanxReturn: 'Return',
phalanxStatus: 'Status',
phalanxStatusOutbound: 'Outbound',
phalanxStatusReturning: 'Returning',
phalanxInsufficientDeuterium: 'Insufficient Deuterium'
},
messagesView: {
title: 'Messages',
@@ -726,14 +798,29 @@ export default {
missionReports: {
transportSuccess: 'Transport mission completed successfully',
transportFailed: 'Transport mission failed',
transportFailedTargetNotFound: 'Transport failed: Target planet does not exist',
transportFailedGiftRejected: 'Transport failed: Gift was rejected',
colonizeSuccess: 'Colonization mission successful, new planet established',
colonizeFailed: 'Colonization mission failed',
colonizeFailedOccupied: 'Colonization failed: Target position is already occupied by another planet',
colonizeFailedMaxColonies: 'Colonization failed: Maximum number of colonies reached. Research Astrophysics to increase the limit.',
spySuccess: 'Espionage mission completed successfully',
spyFailed: 'Espionage mission failed',
spyFailedTargetNotFound: 'Espionage failed: Target planet does not exist',
deploySuccess: 'Deployment mission completed successfully',
deployFailed: 'Deployment mission failed',
deployFailedTargetNotFound: 'Deployment failed: Target planet does not exist',
deployFailedNotOwnPlanet: 'Deployment failed: Target planet does not belong to you',
recycleSuccess: 'Recycling mission completed successfully',
recycleFailed: 'Recycling mission failed, no debris at target location',
recycleFailedNoDebris: 'Recycling failed: No debris field at target location',
recycleFailedDebrisEmpty: 'Recycling failed: Debris field has been cleared',
destroySuccess: 'Planet destruction mission executed successfully',
destroyFailed: 'Planet destruction mission failed',
destroyFailedTargetNotFound: 'Destruction failed: Target planet does not exist',
destroyFailedOwnPlanet: 'Destruction failed: Cannot destroy your own planet',
destroyFailedNoDeathstar: 'Destruction failed: No Death Star to execute the mission',
destroyFailedChance: 'Destruction failed: Probability check failed (Success rate: {chance}%)',
missileAttackSuccess: 'Missile attack successful',
missileAttackFailed: 'Missile attack failed, target planet does not exist',
missileAttackIntercepted: 'All missiles intercepted',
@@ -957,11 +1044,13 @@ export default {
missionType: {
spy: 'Spy',
attack: 'Attack',
recycle: 'Recycle',
unknown: 'Unknown'
},
warning: {
spy: 'Enemy spy incoming!',
attack: 'Enemy attack incoming!',
recycle: 'Enemy is recycling debris near you!',
unknown: 'Enemy fleet incoming!'
}
},
@@ -1376,6 +1465,10 @@ export default {
title: 'Battle Simulator',
message: 'Simulate battle outcomes before attacking. Enter both fleets and tech levels to predict victory, losses, and loot.'
},
achievements: {
title: 'Achievement System',
message: 'Complete game objectives to unlock achievements and earn Dark Matter rewards! Achievements have multiple tiers - aim for higher challenges to get better rewards.'
},
settings: {
title: 'Settings',
message: 'Manage game data, adjust notifications, export/import saves here. Remember to backup your progress regularly!'
@@ -1385,5 +1478,102 @@ export default {
message:
'GM mode allows quick modification of resources, buildings, and tech levels. Use it for testing or experiencing full game content.'
}
},
achievements: {
title: 'Achievements',
unlocked: 'Achievement Unlocked',
progress: 'Progress',
nextTier: 'Next Tier',
maxTierReached: 'Max Tier Reached',
tiers: {
bronze: 'Bronze',
silver: 'Silver',
gold: 'Gold',
platinum: 'Platinum',
diamond: 'Diamond'
},
categories: {
resource: 'Resource',
building: 'Building',
combat: 'Combat',
mission: 'Mission',
diplomacy: 'Diplomacy'
},
names: {
metalCollector: 'Metal Collector',
crystalCollector: 'Crystal Collector',
deuteriumCollector: 'Deuterium Collector',
darkMatterCollector: 'Dark Matter Collector',
resourceConsumer: 'Resource Consumer',
masterBuilder: 'Master Builder',
researcher: 'Researcher',
shipwright: 'Shipwright',
fortifier: 'Fortifier',
warmonger: 'Warmonger',
conqueror: 'Conqueror',
defender: 'Defender',
fleetDestroyer: 'Fleet Destroyer',
debrisCreator: 'Debris Creator',
fleetSacrifice: 'Fleet Sacrifice',
defenseSacrifice: 'Defense Sacrifice',
pilot: 'Pilot',
transporter: 'Transporter',
cargoMaster: 'Cargo Master',
colonizer: 'Colonizer',
spy: 'Spy Master',
deployer: 'Deployer',
explorer: 'Explorer',
luckyExplorer: 'Lucky Explorer',
recycler: 'Recycler',
scavenger: 'Scavenger',
destroyer: 'Destroyer',
fuelBurner: 'Fuel Burner',
diplomat: 'Diplomat',
nemesis: 'Nemesis',
generous: 'Generous',
philanthropist: 'Philanthropist',
target: 'Target',
watched: 'Watched',
robbed: 'Robbed',
lostToNPC: 'Lost to NPC'
},
descriptions: {
metalCollector: 'Total metal produced',
crystalCollector: 'Total crystal produced',
deuteriumCollector: 'Total deuterium produced',
darkMatterCollector: 'Total dark matter produced',
resourceConsumer: 'Total resources consumed',
masterBuilder: 'Total buildings upgraded',
researcher: 'Total researches completed',
shipwright: 'Total ships produced',
fortifier: 'Total defenses built',
warmonger: 'Total attacks launched',
conqueror: 'Total attacks won',
defender: 'Total defenses successful',
fleetDestroyer: 'Enemy fleet destroyed in defense',
debrisCreator: 'Total debris created from battles',
fleetSacrifice: 'Total fleet lost',
defenseSacrifice: 'Total defenses lost in defense',
pilot: 'Total flight missions',
transporter: 'Total transport missions',
cargoMaster: 'Total resources transported',
colonizer: 'Planets colonized',
spy: 'Spy missions completed',
deployer: 'Deploy missions completed',
explorer: 'Total expeditions',
luckyExplorer: 'Successful expeditions',
recycler: 'Total recycling missions',
scavenger: 'Total resources recycled',
destroyer: 'Planets destroyed',
fuelBurner: 'Total fuel consumed',
diplomat: 'Number of friendly NPCs',
nemesis: 'Number of hostile NPCs',
generous: 'Total gifts sent',
philanthropist: 'Total resources gifted',
target: 'Times attacked by NPC',
watched: 'Times spied by NPC',
robbed: 'Times debris recycled by NPC',
lostToNPC: 'Total debris resources lost to NPC'
}
}
}