- Android端注入按键时显式设置SOURCE_KEYBOARD,修复IME丢弃事件导致输入框无法输入文字的问题 - Flutter端新增Flutter逻辑键到Android keyCode的转换映射,避免功能键误触发 - 重构RemoteController,分离信令连接与远程控制逻辑,支持设备列表选择与配对码兑换 - AuthRepository接口新增getBindings、getOnlineDevices、redeemPairingCode方法 - DioAuthRepository实现401自动刷新token重试机制 - ConnectionSessionState扩展设备列表、在线状态、配对码等状态字段
82 lines
3.8 KiB
Plaintext
82 lines
3.8 KiB
Plaintext
{
|
||
"@@locale": "zh",
|
||
"appTitle": "WebRTC 控制端",
|
||
"login": "登录",
|
||
"logout": "退出登录",
|
||
"registerAccount": "注册新账号",
|
||
"registerSuccess": "注册成功,请登录",
|
||
"registerFailed": "注册失败:{error}",
|
||
"loginSubtitle": "登录后可连接已绑定的被控设备",
|
||
"cancel": "取消",
|
||
"confirm": "确定",
|
||
"connect": "连接",
|
||
"connecting": "正在连接...",
|
||
"loginAccount": "登录账号",
|
||
"connectDevice": "连接被控设备",
|
||
|
||
"deviceId": "本机设备ID(连接后由服务端下发,无需填写):",
|
||
"deviceIdPlaceholder": "连接后由服务端下发",
|
||
"targetDeviceId": "目标被控设备ID:",
|
||
"targetDeviceIdPlaceholder": "被控端设备ID",
|
||
"username": "用户名",
|
||
"password": "密码",
|
||
"loginFailed": "登录失败:{error}",
|
||
"usernamePasswordRequired": "请输入用户名和密码",
|
||
"targetRequired": "请填写目标设备ID",
|
||
"authTitle": "连接鉴权",
|
||
"authNone": "免密连接",
|
||
"authNoneDesc": "被控端弹出手动确认框,无需验证码或密码",
|
||
"authCode": "动态验证码",
|
||
"authCodeDesc": "使用一次性动态验证码鉴权",
|
||
"authPassword": "固定密码",
|
||
"authPasswordDesc": "使用固定连接密码鉴权",
|
||
"authNonePlaceholder": "免密连接,无需填写",
|
||
"authPasswordPlaceholder": "请输入固定密码",
|
||
"authCodePlaceholder": "请输入动态验证码",
|
||
"authValueRequired": "请输入验证码或密码",
|
||
"statusStopped": "状态: 已停止",
|
||
"statusConnectingSignal": "状态: 正在连接信令服务器...",
|
||
"statusConnected": "状态: 已连接 - 远程控制中",
|
||
"statusDisconnected": "状态: 远端已断开",
|
||
"statusSignalConnected": "状态: 已连接信令服务器,等待注册...",
|
||
"statusRegistered": "状态: 已注册 ({deviceId}),正在发起连接...",
|
||
"statusAuthFailed": "状态: 认证失败 - {error}",
|
||
"statusConnectError": "状态: 连接错误 - {error}",
|
||
"statusTargetAccept": "状态: 被控端已接受连接,正在建立连接...",
|
||
"statusTokenRefreshFailed": "状态: 令牌刷新失败 - {error}",
|
||
"statusForceLogout": "状态: 账号已在其他位置登录,已强制下线",
|
||
"connectedBindings": "已绑定设备: {uids}",
|
||
"resolutionSwitch": "切换分辨率",
|
||
"fpsSwitch": "切换帧率",
|
||
"selfCodec": "自编码",
|
||
"record": "录制",
|
||
"stop": "停止",
|
||
"recording": "录制中...",
|
||
"recordSaved": "已保存:{path}",
|
||
"recordStopped": "录制已停止",
|
||
"recordNoStream": "尚未连接或没有视频画面,无法录制",
|
||
"recordSwitchToStd": "正在切回标准模式以开始录制...",
|
||
"recordStartFailed": "开始录制失败:{error}",
|
||
"recordNoVideoTrack": "尚未接收到视频画面,无法录制",
|
||
"selfCodecNotSupported": "当前平台不支持自编码硬解,已回退到 WebRTC 媒体流。",
|
||
"iceDisconnected": "ICE 连接已断开",
|
||
"targetOffline": "目标被控端不在线,请确认设备已开启并连接服务器",
|
||
"connectionFailed": "连接失败:{error}",
|
||
"tokenExpired": "登录已失效,请重新登录后再连接。",
|
||
"forceLogout": "账号已在其他位置登录,已强制下线。",
|
||
"loginFirst": "请先登录后再连接",
|
||
"pleaseFillAuth": "请输入验证码或密码",
|
||
"streamModeSelfCodecDesc": "当前平台不支持自编码硬解。",
|
||
"boundDevices": "已绑定设备",
|
||
"online": "在线",
|
||
"offline": "离线",
|
||
"noBoundDevices": "暂无已绑定设备",
|
||
"refreshDevices": "刷新",
|
||
"redeemPairingCode": "使用配对码绑定",
|
||
"pairingCodeHint": "请输入被控端显示的配对码",
|
||
"bindingFailed": "绑定失败:{error}",
|
||
"deviceOfflineCannotConnect": "设备「{name}」当前不在线,无法连接",
|
||
"pleaseSelectDevice": "请先选择一个绑定的设备",
|
||
"bindSuccess": "绑定成功"
|
||
}
|