/** * en.js * English language pack for Tank Adventure. */ module.exports = { // ============================================================ // Common // ============================================================ 'common.back': 'โ† Back', 'common.cancel': 'Cancel', 'common.joinBtn': 'Join', 'common.cannotConnect': 'Cannot connect to server', 'common.connectFailed': 'Connection failed', 'common.disconnected': 'Disconnected from server', 'common.paused': 'PAUSED', 'common.tapContinue': 'Tap to continue', 'common.kicked': 'You have been kicked from the team', // ============================================================ // Menu Scene // ============================================================ 'menu.title': 'Tank Adventure', 'menu.subtitle': 'TANK WAR ยท Battle with Friends', 'menu.classic': 'Classic Mode', 'menu.classic.sub': 'Classic tank battle', 'menu.endless': 'Endless Mode', 'menu.endless.sub': 'Push your limits', 'menu.pvp': '1v1 Duel', 'menu.pvp.sub': 'Winner Takes All.', 'menu.team2v2': '2v2 Brawl', 'menu.team2v2.sub': 'Co-op strategy wins', 'menu.team3v3': '3v3 Team Battle', 'menu.team3v3.sub': 'Teamwork dominates the battlefield', 'menu.shop': 'Shop', 'menu.skin': 'Skins', 'menu.skin.sub': 'Many skins to choose from', 'menu.ranking': 'Ranking', 'menu.ranking.sub': 'Climb the leaderboard', 'menu.settings': 'Settings', 'menu.settings.sub': 'Customize your experience', 'menu.chat': 'Chat', 'menu.tapToAuth': 'Tap to authorize', // ============================================================ // Room Scene (PVP) // ============================================================ 'room.title': 'PVP Battle', 'room.connecting': 'Connecting{dots}', 'room.roomCode': 'Room Code:', 'room.waiting': 'Waiting for opponent{dots}', 'room.inviteFriend': '๐Ÿ“จ Invite Friend', 'room.shareTitle': 'Come play 1v1 Tank Battle with me!', 'room.shareHint': 'Or share the room code with your friend', 'room.opponentFound': 'Opponent found!', 'room.starting': 'Game starting...', 'room.tapBack': 'Tap anywhere to go back', // ============================================================ // Team 2v2 Room Scene // ============================================================ 'team2v2Room.title': '2v2 Brawl', 'team2v2Room.chooseMode': 'Choose how to play', 'team2v2Room.createTeam': '๐ŸŽฎ Create Team', 'team2v2Room.soloMatch': 'โšก Quick Match', 'team2v2Room.teamId': 'Team: {id}', 'team2v2Room.leader': 'Leader', 'team2v2Room.ready': 'โœ“ Ready', 'team2v2Room.notReady': 'Not Ready', 'team2v2Room.emptySlot': 'Empty', 'team2v2Room.invite': '๐Ÿ“จ Invite', 'team2v2Room.startMatch': '๐Ÿ” Start Match', 'team2v2Room.disband': 'Disband', 'team2v2Room.readyBtn': 'โœ“ Ready', 'team2v2Room.cancelReady': 'Cancel Ready', 'team2v2Room.leaveTeam': 'Leave Team', 'team2v2Room.matching': 'Matching{dots}', 'team2v2Room.waitTime': 'Waited {seconds}s', 'team2v2Room.cancelMatch': 'Cancel Match', 'team2v2Room.matchFound': 'Match found!', 'team2v2Room.enterBattle': 'Entering battle...', 'team2v2Room.tapBack': 'Tap anywhere to go back', 'team2v2Room.shareTitle': 'Tank 2v2, join the brawl!', 'team2v2Room.joining': 'Joining room', // ============================================================ // Team Room Scene (3v3) // ============================================================ 'teamRoom.title': '3v3 Team Battle', 'teamRoom.chooseMode': 'Choose how to play', 'teamRoom.createTeam': '๐ŸŽฎ Create Team', 'teamRoom.soloMatch': 'โšก Quick Match', 'teamRoom.teamId': 'Team: {id}', 'teamRoom.leader': 'Leader', 'teamRoom.ready': 'โœ“ Ready', 'teamRoom.notReady': 'Not Ready', 'teamRoom.emptySlot': 'Empty', 'teamRoom.invite': '๐Ÿ“จ Invite', 'teamRoom.startMatch': '๐Ÿ” Start Match', 'teamRoom.disband': 'Disband', 'teamRoom.readyBtn': 'โœ“ Ready', 'teamRoom.cancelReady': 'Cancel Ready', 'teamRoom.leaveTeam': 'Leave Team', 'teamRoom.matching': 'Matching{dots}', 'teamRoom.waitTime': 'Waited {seconds}s', 'teamRoom.cancelMatch': 'Cancel Match', 'teamRoom.matchFound': 'Match found!', 'teamRoom.enterBattle': 'Entering battle...', 'teamRoom.tapBack': 'Tap anywhere to go back', 'teamRoom.shareTitle': 'Tank 3v3, join the battle!', 'teamRoom.joining': 'Joining room', // ============================================================ // PVP Game Scene // ============================================================ 'pvp.playerLabel': 'P{slot} (You)', 'pvp.hp': 'HP x{count}', 'pvp.kills': 'Kills: {count}', 'pvp.killDeath': 'K:{kills} D:{deaths}', 'pvp.respawn': 'Respawning in {seconds}s', 'pvp.youWin': 'YOU WIN!', 'pvp.draw': 'DRAW', 'pvp.youLose': 'YOU LOSE', 'pvp.baseHpSummary': 'P1: {hp1} HP | P2: {hp2} HP', // ============================================================ // Team Game Scene (3v3) // ============================================================ 'team.teamA': 'Team A', 'team.teamB': 'Team B', 'team.myTeam': 'You: {team} Team', 'team.killDeath': 'K:{kills} D:{deaths}', 'team.respawn': 'Respawning in {seconds}s', 'team.victory': 'VICTORY!', 'team.defeat': 'DEFEAT', 'team.baseHpSummary': 'Team A: {hpA} HP | Team B: {hpB} HP', 'team.disconnectTitle': 'โš  Connection Lost', 'team.reconnecting': 'Reconnecting{dots} ({attempts}/{max})', 'team.reconnectHint': 'Please wait, your tank will be controlled by AI', // ============================================================ // PVP Result Scene // ============================================================ 'pvpResult.title': 'MATCH RESULT', 'pvpResult.victory': '๐Ÿ† VICTORY!', 'pvpResult.draw': 'โš”๏ธ DRAW', 'pvpResult.defeat': '๐Ÿ˜ต DEFEAT', 'pvpResult.kills': 'Kills', 'pvpResult.deaths': 'Deaths', 'pvpResult.lives': 'Lives', 'pvpResult.baseDmg': 'Base DMG', 'pvpResult.p1BaseHp': 'P1: {hp} HP', 'pvpResult.p2BaseHp': 'P2: {hp} HP', 'pvpResult.baseDestroyed': 'Base Destroyed', 'pvpResult.disconnectedReason': 'Disconnected', 'pvpResult.duration': 'Match duration: {time}', 'pvpResult.timeRemaining': 'Time remaining: {time}', 'pvpResult.rematch': 'Rematch', 'pvpResult.backMenu': 'Back to Menu', // ============================================================ // Team Result Scene (3v3) // ============================================================ 'teamResult.title': '3v3 MATCH RESULT', 'teamResult.victory': '๐Ÿ† VICTORY!', 'teamResult.defeat': '๐Ÿ˜ต DEFEAT', 'teamResult.teamAHp': 'Team A: {hp} HP', 'teamResult.teamBHp': 'Team B: {hp} HP', 'teamResult.baseDestroyed': 'Base Destroyed', 'teamResult.disconnectedReason': 'Disconnected', 'teamResult.teamAHeader': 'Team A', 'teamResult.teamBHeader': 'Team B', 'teamResult.myTeamSuffix': ' (You)', 'teamResult.player': 'Player', 'teamResult.k': 'K', 'teamResult.d': 'D', 'teamResult.a': 'A', 'teamResult.dmg': 'DMG', 'teamResult.bot': '๐Ÿค– Bot', 'teamResult.duration': 'Match duration: {time}', 'teamResult.mvp': 'โญ MVP: {name} ({kills} kills)', 'teamResult.rankUp': '๐Ÿ“ˆ Rank +{points}', 'teamResult.mvpBonus': '(MVP bonus +5)', 'teamResult.rankDown': '๐Ÿ“‰ Rank -{points}', 'teamResult.rematch': 'Rematch', 'teamResult.rematchWaiting': 'Waiting({ready}/{total})', 'teamResult.backMenu': 'Back to Menu', // ============================================================ // Game Scene (Classic/Endless) // ============================================================ 'game.level': 'Level {level}', 'game.hp': 'HP x{count}', 'game.fireLevel': 'LV{level}', 'game.enemies': 'Enemies: {count}', 'game.score': '{score}pts', 'game.gameOver': 'GAME OVER', 'game.stageClear': 'STAGE CLEAR!', // ============================================================ // Result Scene // ============================================================ 'result.victory': '๐ŸŽ‰ STAGE CLEAR!', 'result.defeat': '๐Ÿ˜ต GAME OVER', 'result.level': 'Level {level}', 'result.killStats': 'Kill Statistics', 'result.tankNormal': 'Normal', 'result.tankFast': 'Fast', 'result.tankArmor': 'Armor', 'result.tankBoss': 'BOSS', 'result.totalLabel': 'Total', 'result.rowKills': 'Kills', 'result.rowScore': 'Score', 'result.totalScore': 'Total: {score}', 'result.time': 'Time: {minutes}m{seconds}s', 'result.baseAlive': 'Base: โœ… Intact', 'result.baseDestroyed': 'Base: โŒ Destroyed', 'result.newRecord': '๐ŸŽŠ New Record!', 'result.doubled': '2x!', 'result.share': '๐Ÿ“ค Share Challenge', 'result.adDouble': '๐ŸŽฌ Watch Ad for 2x Score', 'result.nextLevel': 'Next Level โ†’', 'result.retry': 'Retry', 'result.backMenu': 'Back to Menu', // ============================================================ // Ranking Scene // ============================================================ 'ranking.title': '๐Ÿ† Ranking', 'ranking.personalRecord': 'โ€” Personal Records โ€”', 'ranking.classicHigh': 'Classic Mode High Score', 'ranking.endlessHigh': 'Endless Mode High Score', 'ranking.highestLevel': 'Highest Level Cleared', 'ranking.levelSuffix': 'Lv', 'ranking.scoreSuffix': 'pts', 'ranking.friendHint': 'Friend ranking requires WeChat Open Data Domain', // ============================================================ // Settings Scene // ============================================================ 'settings.title': 'Settings', 'settings.sound': 'Sound', 'settings.music': 'Music', 'settings.vibration': 'Vibration', // ============================================================ // Shop Scene (Simplified) // ============================================================ 'shop.title': 'Shop', 'shop.goldBalance': 'Gold Balance', 'shop.adFree': 'Remove Ads', 'shop.adFreeDesc': 'Permanently remove interstitial ads', 'shop.adFreeOwned': 'Owned', 'shop.goldPack': 'Gold Pack', 'shop.goldPackDesc': '1000 Gold', 'shop.newcomerPack': 'Newcomer Pack', 'shop.newcomerPackDesc': '500 Gold', 'shop.newcomerExpired': 'Expired', 'shop.buy': 'Buy', 'shop.purchased': 'Purchased', // ============================================================ // Chat Room Scene // ============================================================ 'chat.title': 'Chat Room', 'chat.inputPlaceholder': 'Type a message...', 'chat.send': 'Send', 'chat.reportTitle': 'Report', 'chat.reportPolitics': 'Harmful politics', 'chat.reportPornography': 'Pornography', 'chat.reportGambling': 'Gambling & fraud', 'chat.reportOther': 'Other', 'chat.reportCancel': 'Cancel', // ============================================================ // Content Security // ============================================================ 'contentSecurity.violation': 'Content contains prohibited information', 'contentSecurity.nicknameViolation': 'Nickname contains prohibited content', 'contentSecurity.chatViolation': 'Message failed: content violation', 'contentSecurity.muted': 'You cannot modify profile due to violation', 'contentSecurity.mutedChat': 'You are muted, remaining: {time}', 'contentSecurity.imageViolation': 'Image contains prohibited content', 'contentSecurity.checking': 'Checking...', 'contentSecurity.timeout': 'Check timeout, please retry', 'contentSecurity.reportSuccess': 'Report submitted', 'contentSecurity.reportFail': 'Report failed', // ============================================================ // Ad System // ============================================================ 'ad.reviveTitle': 'Revive Chance', 'ad.reviveDesc': 'Choose how to revive and continue', 'ad.watchAd': '๐Ÿ“บ Watch Ad (Free)', 'ad.goldRevive': '๐Ÿช™ Gold Revive', 'ad.giveUp': 'Give Up', 'ad.doubleReward': '๐ŸŽฌ Watch Ad for 2x Reward', 'ad.unavailable': 'Ad temporarily unavailable', 'ad.dailyLimitReached': 'Daily ad recovery limit reached', // ============================================================ // Currency (Simplified - Gold only) // ============================================================ 'currency.gold': 'Gold', 'currency.insufficient': 'Insufficient Gold', 'currency.full': 'Gold is full', // ============================================================ // IAP Products (Simplified) // ============================================================ 'iap.adFree': 'Remove Ads (ยฅ18 Permanent)', 'iap.goldPack': 'Gold Pack (ยฅ6)', 'iap.newcomerPack': 'Newcomer Pack (ยฅ1)', // ============================================================ // Buff System // ============================================================ 'buff.title': 'Pre-Game Buffs', 'buff.shield': '๐Ÿ›ก๏ธ Shield', 'buff.shieldDesc': 'Start with a shield layer', 'buff.doubleFire': '๐Ÿ”ฅ Double Fire', 'buff.doubleFireDesc': '2x bullet power for 10s', 'buff.skip': 'Skip โ†’', 'buff.start': 'Start Game', 'buff.purchased': 'Purchased', 'buff.goldInsufficient': 'Insufficient Gold', // ============================================================ // Daily Gold // ============================================================ 'dailyGold.btn': '๐Ÿช™ Get Gold', 'dailyGold.desc': 'Daily reward', 'dailyGold.remaining': '{remaining}/3', 'dailyGold.exhausted': 'Come back tomorrow', 'dailyGold.reward': '+100 Gold!', // ============================================================ // Skin System // ============================================================ 'skin.title': 'Tank Skins', 'skin.default': 'Classic', 'skin.arctic': 'Arctic', 'skin.inferno': 'Inferno', 'skin.phantom': 'Phantom', 'skin.jungle': 'Jungle', 'skin.neon': 'Neon', 'skin.nebula': 'Nebula', 'skin.royal': 'Royal', 'skin.sakura': 'Sakura', 'skin.thunder': 'Thunder', 'skin.diamond': 'Diamond', 'skin.equipped': 'โœ“ Equipped', 'skin.owned': 'Owned', 'skin.equipSuccess': 'โœ“ Skin equipped!', 'skin.purchaseSuccess': 'โœ“ Skin unlocked!', // ============================================================ // Privacy Authorization // ============================================================ 'privacy.title': 'Privacy Notice', 'privacy.body': 'To display your nickname and avatar in the game, we need access to your WeChat basic info.\n\nYou can review the Privacy Policy to understand how your data is used.\n\nIf you decline, you will play anonymously.', 'privacy.policyLink': '๐Ÿ‘‰ View Privacy Policy', 'privacy.agree': 'Agree', 'privacy.decline': 'Decline', 'privacy.footer': 'Your info is only used for in-game display and never shared with third parties', };