Files
TankIC/3DTank/docs/UiTranslationStatus.md
T

6.8 KiB
Raw Blame History

UI Translation Status

原则:静态翻译优先;全部翻译完成后再统一测试。 技术栈:Kotlin/JS + kotlin-react + Emotion(静态布局可用 CSS,动态状态用 Emotion)。

已完成

屏幕 / 组件 文件 说明
HEAD 顶栏 app/src/jsMain/kotlin/App/Browser/Ui/HeadScreen.kt Emotion;所有页面复用;子页面只把 VIP 替换为退出键,其余组队/等级/昵称/货币/F11/退出不变
子页面外壳 LobbyView.kt + lobby3.css ms-top 始终显示;#lobby-content 从 6em 开始;不再使用独立 Breadcrumbs 顶栏
大厅首页 app/src/jsMain/kotlin/App/Browser/Ui/HomeScreen.kt Emotion;Play / 主菜单 / Footer / BattlePass / 公告
车库 app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt React;默认「总览」+ 右侧 4 个已装配件;分类栏、底盘/炮塔选择条、迷彩网格、左右面板、底部选择条
商店 app/src/jsMain/kotlin/App/Browser/Ui/LobbyScreens.kt 已按 NewShopCommonComponentStyle / ShopSelectedSectionComponentStyle / ShopCategoryComponentStyle / ShopItemComponentStyle / ShopFooterComponentStyle 重建:左侧 25em 分类菜单、径向渐变主容器、分类标题/描述、2 列物品网格、17.5em 物品卡、右侧 22.5em 选中卡、底部 3.125em 购买栏;详见 ShopStyleTable.md
幸运礼盒 同上 4 种礼盒美术、钥匙图标/数量、可能奖励稀有度、右侧详情/开启确认
战斗选择 同上 模式筛选(DM/TDM/CTF/CP/AS/JGR/SGE/RUGBY 图标)+ 战场列表 + 右侧详情/加入/创建入口
任务 同上 分类侧栏(主要/每日/每周/星级挑战/合约)+ 任务卡(进度、奖励图标、领取/去完成)+ 星级挑战横幅 + 离线示例
设置 同上 7 个分类:游戏显示/战斗/画面/音效/操控/账户/安全;开关/滑杆/下拉/按键表;文案走 i18n;样式与配色按原包校准
聊天 同上 频道侧栏(公共/战斗/军团/私聊)+ 消息行(头像/作者/时间)+ 发送;军团频道读 ClanChatState
新闻 同上 左列表 + 右详情;真实图片/日期/正文;无数据时显示带标记的离线示例
军团 同上 未加入:军团美术、创建/搜索、许可证;已加入:军团头图、信息/成员/请求/邀请页签与成员表
好友 同上 好友/请求/搜索页签;在线状态、等级、军团标记;私聊/邀请/删除、接受/拒绝、拒绝所有;离线示例
战斗 HUD app/src/jsMain/kotlin/App/Browser/Ui/BattleHud.kt 顶部时间/分数/地图、左下战斗聊天、底部补给、右下全屏/统计/暂停、统计面板、暂停菜单
战斗结算 LobbyScreens.kt 统计 / 奖励 / 任务页签;统计表、奖励列表、经验、返回大厅
通用弹窗 / Toast app/src/jsMain/kotlin/App/Browser/Ui/Dialogs.kt DialogContext / ToastContext / OverlayHost;商店购买、好友接受/拒绝已接入
大厅 Tips HomeScreen.kt 底部提示条,读 TipsState.Tips
军团聊天 LobbyScreens.kt 聊天页「军团」频道,读 ClanChatState.Messages
登录页 EntranceView.kt + entrance.css 之前已完成 1:1

已接入的通用层

文件 内容
UiTheme.kt 颜色/字体/间距 token、Panel/Button/Tab/Card/Grid/Empty 等通用 Emotion 样式
Palette.kt 原版 C9i 配色表;所有颜色从 Palette 取值,见 3DTank/docs/ColorPalette.md
Translations.kt 原版翻译加载;支持 zh-CN/en-US/ru/de/fr/es/pl/pt-BR/tr/ja 切换
HeadScreen.kt HeadContext / HeadMount
HomeScreen.kt HomeContext / HomeMount
LobbyScreens.kt ScreenContext / ScreenMount / 子页面路由
LobbyView.kt 导航、HEAD/Home/Screen/Garage 挂载与切换

待翻译

模块 原模块 说明
战斗 HUD 精确布局 module_21300 已翻译壳/按钮/聊天/补给/统计/暂停;内部血条、弹药、准星、战斗日志的精确尺寸仍需按 style 函数展开
战斗结算精确布局 module_82347 已翻译奖励/经验结构;表格列宽、排名变化动画仍需展开
通用弹窗具体实例 module_82347 Dialog/Toast 壳已就绪,购买/升级/排名等具体弹窗还需逐个接入
通知 / Tips 样式 module_82347 已有提示条,原版图标/动画未展开
3D 坦克模型 Item3DCC.Resource 资源 URL 索引未打通;当前用官方预览图/图标占位
真实迷彩预览 Item3DCC.Resource 迷彩资源 URL 未打通;车库用色块、商店用色块渐变占位
军团/好友真实数据 RootState 已接状态与列表;真实服务器数据下会替换离线示例
HEAD 组队 3/4 人分支 module_82347 UserGroupTitleButtonComponentStyle-commonBlockGroup 2 人组(默认上限)已按 q4 + groupUser.svg 还原;3/4 人组的等级小图标分支未接组队数据
商店物品卡动态行高 module_82347 ShopCategoryOfferSectionStyle-containerItem 原版 grid-template-rows:31.35%,当前固定 11.5em;等容器高度确定后替换
商店购买按钮共享外观 module_82347 ShopBuyButtonComponentStyle 当前用金色按钮近似;共享 Button 组件的完整样式待展开
商店选中区轮播 module_82347 ShopSelectedSectionComponentStyle 当前单个 22.5em 选中卡;commonCard / limitedOffersCommon 的横向轮播待展开
商店特殊分类 module_82347 ShopCategoryOfferSectionStyle containerCoin / containerLimitOffers / containerKitOffers 的金币、限时、礼包分类待展开
商店折扣/加成/促销码 module_82347 ShopItemComponentStyle 当前数据模型没有折扣、加成、促销码字段;原版徽章/能源条未渲染

说明

  • LobbyView 的旧 HTML 字符串子页面已删除,只保留车库 HTML 容器;非车库页面全部走 ScreenMount。
  • 已用无头浏览器核对非战斗页面:首页、车库(总览/底盘/迷彩)、商店、礼盒、战斗选择、任务、设置(游戏/画面/音效)、聊天、新闻、军团、好友。
  • 任务/新闻/好友在离线无数据时显示带「离线示例」标记的演示内容;连接服务器后自动使用真实状态。
  • 设置页已按原包 style 类展开值重建;其余非战斗页面仍使用通用 UiTheme 样式,尚未逐页校准,不能视为最终 1:1。
  • 原版 UI 还原方法已写入 3DTank/docs/UI_Rebuild_Plan.md 第 10 节:定位 Sq(...Style) → 提取 style 函数 CSS → 还原原版 DOM/类名 → 提取资源/配色 → 无头探针验收 → 删除旧近似代码。
  • 下一步:以设置页为基准,逐页提取原版 style 类并替换,再处理战斗 HUD / 结算的精确尺寸与弹窗实例。