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: 'Покори звёзды',
startGame: 'Начать игру',
privacyAgreement: 'Политика конфиденциальности',
privacyAgreementDesc: 'Пожалуйста, прочитайте и примите нашу политику конфиденциальности перед началом игры.',
agreeToPrivacy: 'Я прочитал и согласен с',
viewFullPolicy: 'Просмотреть полную политику',
agreeAndStart: 'Согласиться и начать'
},
common: {
confirm: 'Подтвердить',
cancel: 'Отмена',
@@ -36,7 +45,8 @@ export default {
requirementsNotMet: 'Требования не выполнены',
current: 'Текущий',
level: 'Уровень',
gmModeActivated: 'Режим GM активирован! Проверьте навигационное меню.'
gmModeActivated: 'Режим GM активирован! Проверьте навигационное меню.',
view: 'Просмотр'
},
errors: {
requirementsNotMet: 'Требования не выполнены',
@@ -113,7 +123,13 @@ export default {
homePlanet: 'Родная планета',
planetPrefix: 'Планета',
moonSuffix: 'я луна',
colonyPrefix: 'Колония'
colonyPrefix: 'Колония',
renamePlanet: 'Переименовать планету',
renamePlanetTitle: 'Переименовать планету',
newPlanetName: 'Новое название',
planetNamePlaceholder: 'Введите новое название планеты',
rename: 'Переименовать',
renameSuccess: 'Планета переименована в {name}'
},
player: {
points: 'Всего очков'
@@ -284,7 +300,8 @@ export default {
hyperspaceTechnology: 'Технология гиперпространственных прыжков',
plasmaTechnology: 'Технология плазменного оружия',
computerTechnology: 'Увеличивает очередь исследований и слоты флотских миссий, +1 очередь +1 слот за уровень (макс 10 уровней)',
espionageTechnology: 'Повышает эффективность зондов, +1 уровень шпионажа за уровень. Уровень разведки = ваш уровень - уровень врага + зонды/5. ≥-1 показывает флот, ≥1 показывает оборону, ≥3 показывает здания, ≥5 показывает технологии',
espionageTechnology:
'Повышает эффективность зондов, +1 уровень шпионажа за уровень. Уровень разведки = ваш уровень - уровень врага + зонды/5. ≥-1 показывает флот, ≥1 показывает оборону, ≥3 показывает здания, ≥5 показывает технологии',
weaponsTechnology: 'Увеличивает силу атаки кораблей и обороны на 10% за уровень',
shieldingTechnology: 'Увеличивает щиты кораблей и обороны на 10% за уровень',
armourTechnology: 'Увеличивает броню кораблей и обороны на 10% за уровень',
@@ -318,8 +335,8 @@ export default {
darkMatterSpecialist: 'Улучшает эффективность сбора тёмной материи'
},
queue: {
title: 'Очередь строительства',
empty: 'Нет активных задач',
title: 'Активные задачи',
empty: 'Нет активных очередей',
buildQueue: 'Очередь строительства',
researchQueue: 'Очередь исследований',
building: 'Строится',
@@ -332,7 +349,14 @@ export default {
confirmCancel: 'Вы уверены, что хотите отменить? 50% ресурсов будет возвращено.',
level: 'Уровень',
gmModeActivated: '',
upgradeToLevel: 'Улучшить до уровня'
upgradeToLevel: 'Улучшить до уровня',
tabs: {
all: 'Все',
buildings: 'Здания',
research: 'Исследования',
ships: 'Корабли',
defense: 'Оборона'
}
},
overview: {
title: 'Обзор планеты',
@@ -593,7 +617,8 @@ export default {
debris: 'Обломки',
giftPlanetTitle: 'Отправить подарок',
giftPlanetMessage:
'Вы уверены, что хотите отправить ресурсы в подарок планете [{coordinates}]?\n\nПерейдите на страницу флота, чтобы выбрать транспортные корабли и загрузить ресурсы.'
'Вы уверены, что хотите отправить ресурсы в подарок планете [{coordinates}]?\n\nПерейдите на страницу флота, чтобы выбрать транспортные корабли и загрузить ресурсы.',
npcPlanetName: 'Планета {name}'
},
messagesView: {
title: 'Сообщения',
@@ -627,6 +652,7 @@ export default {
targetPlanet: 'Целевая планета',
attackerRemaining: 'Осталось у нападающего',
defenderRemaining: 'Осталось у защитника',
allDestroyed: 'Всё уничтожено',
moonChance: 'Шанс появления луны',
showRoundDetails: 'Показать детали раундов',
hideRoundDetails: 'Скрыть детали раундов',
@@ -692,7 +718,17 @@ export default {
activityDescription: '',
npcActivityMessage: '',
arrivalTime: '',
npcActivityTip: ''
npcActivityTip: '',
clearMessages: 'Очистить сообщения',
clearMessageTypes: 'Выберите типы сообщений для очистки',
clearBattleReports: 'Боевые отчёты',
clearSpyReports: 'Разведывательные отчёты',
clearSpiedNotifications: 'Уведомления о разведке',
clearMissionReports: 'Отчёты о миссиях',
clearNPCActivity: 'Активность NPC',
clearGiftNotifications: 'Уведомления о подарках',
clearGiftRejected: 'Отклонённые подарки',
clearNow: 'Очистить сейчас'
},
missionReports: {
transportSuccess: 'Миссия транспортировки успешно завершена',
@@ -795,6 +831,7 @@ export default {
community: 'Сообщество',
github: 'Репозиторий GitHub',
qqGroup: 'Группа QQ',
privacyPolicy: 'Политика конфиденциальности',
notifications: 'Настройки уведомлений',
notificationsDesc: 'Управление внутриигровыми уведомлениями',
notificationTypes: 'Типы уведомлений',
@@ -877,6 +914,7 @@ export default {
completeQueuesSuccess: ''
},
alerts: {
incomingFleets: '{count} вражеских флотов приближается',
npcSpyIncoming: 'Приближается шпионский зонд NPC',
npcAttackIncoming: 'Атака флота NPC приближается!',
npcFleetIncoming: 'Приближается флот NPC',
@@ -888,6 +926,30 @@ export default {
npcSpiedYourPlanet: 'NPC разведал вашу планету',
npcAttackedYourPlanet: 'NPC атаковал вашу планету'
},
enemyAlert: {
title: 'Тревога',
markAllRead: 'Отметить прочитанным',
noAlerts: 'Нет тревог',
fleetSize: 'Размер флота',
ships: 'кораблей',
viewFleet: 'Просмотр флота',
alertDetails: 'Детали тревоги',
targetInfo: 'Информация о цели',
arrivalTime: 'Время прибытия',
countdown: 'Обратный отсчёт',
viewMessages: 'Просмотр сообщений',
arrived: 'Прибыл',
missionType: {
spy: 'Разведка',
attack: 'Атака',
unknown: 'Неизвестно'
},
warning: {
spy: 'Вражеская разведка приближается!',
attack: 'Вражеская атака приближается!',
unknown: 'Вражеский флот приближается!'
}
},
diplomacy: {
title: 'Дипломатия',
description: 'Управление дипломатическими отношениями с NPC',
@@ -920,16 +982,30 @@ export default {
more: 'еще',
actions: {
gift: 'Отправить подарок',
viewPlanets: 'Посмотреть планеты'
viewPlanets: 'Посмотреть планеты',
addNote: 'Добавить заметку',
editNote: 'Редактировать заметку'
},
note: 'Заметка',
notePlaceholder: 'Введите заметку...',
noteEmpty: 'Нет заметки',
lastEvent: 'Последнее событие',
reportDetails: '',
eventDescription: '',
reputationChange: '',
before: '',
after: '',
statusChange: '',
viewDiplomacy: '',
reportDetails: 'Детали дипломатического отчёта',
eventDescription: 'Описание события',
reputationChange: 'Изменение репутации',
before: 'До',
after: 'После',
statusChange: 'Изменение статуса',
viewDiplomacy: 'Перейти к дипломатии',
eventType: {
gift: 'Подарил ресурсы',
attack: 'Провёл атаку',
allyAttacked: 'Атаковал союзника',
spy: 'Провёл разведку',
stealDebris: 'Украл обломки',
destroyPlanet: 'Уничтожил планету',
unknown: 'Неизвестное событие'
},
events: {
gift: 'Подарок отправлен',
attack: 'Атака',
@@ -966,6 +1042,50 @@ export default {
allyOutraged: '{allyName} возмущен тем, что вы уничтожили {planetName} их союзника {targetName}',
npcEliminated: 'NPC {npcName} полностью уничтожен',
npcEliminatedMessage: 'Вы уничтожили все планеты {npcName}! Эта фракция полностью уничтожена.'
},
searchPlaceholder: 'Поиск NPC по имени...',
viewMode: {
card: 'Карточки',
list: 'Список'
},
diagnostic: {
button: 'Диагностика NPC',
title: 'Диагностика состояния NPC',
description:
'Очки игрока: {points}, Интервал разведки: {spyInterval}мин, Интервал атаки: {attackInterval}мин, Вероятность атаки: {attackProb}%',
noData: 'Нет данных NPC',
difficulty: 'Сложность',
difficultyLevels: {
easy: 'Лёгкая',
medium: 'Средняя',
hard: 'Сложная'
},
reputation: 'Репутация',
spyProbes: 'Шпионские зонды',
fleetPower: 'Мощь флота',
canSpy: 'Может шпионить',
canAttack: 'Может атаковать',
attackProbability: 'Вероятность атаки',
nextSpy: 'Следующая разведка',
nextAttack: 'Следующая атака',
yes: 'Да',
no: 'Нет',
timeFormat: '{min}м {sec}с',
anytime: 'В любой момент',
statusExplanation: 'Объяснение статуса',
noRelation: 'Нет отношений',
noRelationNeutral: 'Нет отношений (Нейтральный)',
reasons: {
friendlyNoAction: 'Дружественные отношения, не будет действовать',
neutralNoAction: 'Нейтральные отношения, не будет действовать',
hostileWillAct: 'Враждебные отношения, может действовать',
noRelationNeutral: 'Нет дипломатических отношений, считается нейтральным',
insufficientProbes: 'Недостаточно зондов (Текущее: {current}, Требуется: {required})',
noFleet: 'Нет боевого флота',
spyCooldown: 'Разведка на перезарядке ({min}м {sec}с)',
attackCooldown: 'Атака на перезарядке ({min}м {sec}с)',
notSpiedYet: 'Ещё не разведан, сначала нужна разведка'
}
}
},
pagination: {
@@ -981,6 +1101,53 @@ export default {
description: 'Извините, страница, которую вы ищете, не существует',
goHome: 'На главную'
},
privacy: {
title: 'Политика конфиденциальности',
sections: {
introduction: {
title: 'Введение',
content:
'Эта политика конфиденциальности объясняет, как OGame-Vue-Ts обрабатывает ваши данные. Мы стремимся защищать вашу конфиденциальность, и эта игра разработана с полным уважением к приватности пользователей.'
},
dataCollection: {
title: 'Сбор данных',
content: 'Эта игра собирает и хранит только следующие данные локально в вашем браузере:',
items: {
gameProgress: 'Прогресс игры (уровни зданий, флоты, ресурсы и т.д.)',
settings: 'Настройки игры (настройки уведомлений, параметры отображения и т.д.)',
language: 'Языковые настройки'
}
},
dataStorage: {
title: 'Хранение данных',
content:
'Все данные хранятся в локальном хранилище вашего браузера (localStorage). Это означает, что ваши данные всегда остаются на вашем собственном устройстве, и мы не можем получить доступ, просматривать или собирать какие-либо ваши игровые данные.'
},
noServer: {
title: 'Нет связи с сервером',
content:
'Эта игра является полностью офлайн одиночной игрой. За исключением функции проверки обновлений (которая получает информацию о версии с GitHub), игра не взаимодействует ни с каким сервером. Ваши игровые данные никогда не покидают ваше устройство.'
},
thirdParty: {
title: 'Сторонние сервисы',
content:
'Эта игра использует сторонние аналитические сервисы для отслеживания статистики посещений и источников трафика, что помогает нам понять модели использования и улучшить игровой опыт. Эти аналитические данные являются анонимными и не содержат никакой персонально идентифицируемой информации. Мы не используем рекламные сервисы или другие коммерческие инструменты отслеживания.'
},
dataControl: {
title: 'Контроль данных',
content: 'Вы имеете полный контроль над своими данными:',
items: {
export: 'Вы можете экспортировать данные игры в любое время',
import: 'Вы можете импортировать данные из резервных файлов',
delete: 'Вы можете удалить все данные, очистив данные браузера или используя функцию "Очистить данные" в игре'
}
},
contact: {
title: 'Свяжитесь с нами',
content: 'Если у вас есть вопросы по поводу этой политики конфиденциальности, пожалуйста, свяжитесь с нами через:'
}
}
},
time: {
days: 'дней',
hours: 'часов',
@@ -1014,5 +1181,76 @@ export default {
'Нажмите на значок очереди в правом верхнем углу, чтобы увидеть прогресс строительства. Вы можете продолжать просматривать другие страницы - строительство происходит в фоновом режиме.'
}
}
},
hints: {
close: 'Закрыть',
gotIt: 'Понятно',
dontShowAgain: 'Больше не показывать',
resetHints: 'Сбросить подсказки',
resetHintsDesc: 'Показать все подсказки снова',
hintsEnabled: 'Включить подсказки',
hintsEnabledDesc: 'Показывать полезные подсказки при посещении страниц',
overview: {
title: 'Обзор планеты',
message:
'Здесь вы можете видеть ресурсы планеты, статус флота и детали производства. Регулярно проверяйте, чтобы отслеживать прогресс!'
},
buildings: {
title: 'Здания',
message:
'Стройте и улучшайте сооружения здесь. Начните с солнечной электростанции для энергии, затем ресурсные шахты. Совет: Фабрика роботов ускоряет строительство!'
},
research: {
title: 'Исследовательская лаборатория',
message:
'Исследуйте технологии, чтобы разблокировать новые корабли, улучшить боеспособность и развить цивилизацию. Энергетическая технология - отличное начало!'
},
shipyard: {
title: 'Верфь',
message:
'Стройте корабли для исследования, транспортировки ресурсов и защиты империи. Грузовые корабли помогают перевозить ресурсы между планетами.'
},
fleet: {
title: 'Командование флотом',
message:
'Отправляйте корабли на миссии: атакуйте врагов, транспортируйте ресурсы, колонизируйте новые планеты или исследуйте поля обломков.'
},
galaxy: {
title: 'Карта галактики',
message:
'Исследуйте галактику, чтобы найти пустые планеты для колонизации, поля обломков для сбора и врагов для атаки. Сначала используйте шпионские зонды!'
},
diplomacy: {
title: 'Дипломатия',
message:
'Управляйте отношениями с NPC. Отправляйте подарки для улучшения репутации или столкнитесь с враждебными атаками. Союзники ваших врагов тоже могут стать враждебными!'
},
messages: {
title: 'Сообщения',
message:
'Просматривайте боевые отчёты, отчёты разведки и дипломатические уведомления. Отслеживайте свои действия и столкновения с врагами.'
},
defense: {
title: 'Планетарная оборона',
message: 'Стройте оборонительные сооружения для защиты планеты от атак. Щиты и турели могут отпугнуть захватчиков!'
},
officers: {
title: 'Офицеры',
message:
'Нанимайте офицеров для получения бонусов! Командир ускоряет строительство, Геолог увеличивает добычу ресурсов, Адмирал усиливает флот.'
},
simulator: {
title: 'Симулятор боя',
message: 'Симулируйте результаты боя перед атакой. Введите флоты и уровни технологий для прогноза победы, потерь и добычи.'
},
settings: {
title: 'Настройки',
message: 'Управляйте игровыми данными, уведомлениями, импортом/экспортом сохранений. Регулярно создавайте резервные копии!'
},
gm: {
title: 'Панель ГМ',
message:
'Режим ГМ позволяет быстро изменять ресурсы, здания и уровни технологий. Используйте для тестирования или полного доступа к контенту.'
}
}
}