直接回答
户外遇到离线翻译失败时,不要对所有症状反复点击同一个重试按钮。先确认应用能否打开,再检查语言方向和所需资源,然后用一个新任务分别观察输入、识别、翻译及可选的语音播报。状态栏网络图标或飞行模式标签不能说明具体是哪一阶段失败。Android 网络 API 描述系统网络状态,但系统看见网络与应用成功访问某个服务是不同证据;离线工作流应使用自己的新请求测试。记录准确应用和系统版本、语言对、输入模式、资源状态、屏幕提示以及最后成功阶段。尽可能保留源文本或安全测试样本;不要一开始就重置历史记录或删除用户数据。本手册提供诊断方法,不罗列未经验证的常见故障或保证有效的修复。它帮助旅行者区分准备未完成、语种不适用、采集失败、本地推理失败、TTS 失败和隐式联网依赖,并选择范围明确的恢复方式或人工备选。
场景:信号消失后,户外路牌不再翻译
徒步者到达步道岔路,打开翻译应用后,拍摄的指示牌没有新结果。手机没有可用网络,但用户不知道是离线语言包缺失、相机权限、图像采集、语言方向、模型加载,还是结果已经生成却没有显示。用户需要理解指示牌,同时又不能冒险丢失其他已保存的译文。
决策
避免连续重复点击和破坏性重置。先保留原始指示牌照片和任何可见文字,尽可能使用无敏感信息的小样本逐阶段执行一项可逆检查。识别出失败边界后就停止无关尝试;遇到重要指示时使用纸质短语表、询问他人或选择安全返程。
预期结果
用户记录无法产生新结果的第一个阶段,并选择针对该阶段的动作。后续联系支持时可以提供有用记录,但不猜测普遍原因,也不删除用户历史。
需要收集的证据
只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:
- 故障阶段与症状分类
- 每阶段的复现样本
- 恢复、升级和隐私检查
发布结论只对所记录的配置和验收集有效;扩大适用范围需要更多记录。
实施流程
- 改变设置前记录当前状态. 写下应用名称与版本、Android 版本、源语言和目标语言、翻译模式、时间及屏幕显示内容。在安全的前提下保存源短句或原始图片。不要先清除应用数据、卸载应用、删除已下载资源或同时更改多项设置;这些操作可能抹掉判断问题边界所需的线索。
- 确认应用是否仍需要首次设置. 检查应用是否需要登录、激活、许可验证或首次启动下载。分清应用无法进入主屏幕,还是能够打开但不能翻译。如果首次设置尚未完成而现场又没有网络,就记录“离线任务尚未完成验证”,改用备选方式,不要猜测旁路安装或账户操作可以修复。
- 核实准确语言方向和必需资源. 逐个读取语言标签并确认方向,不能只看选择器里出现过这些语言。查看目标语言对和模式对应的资源是否显示已下载或就绪。文字资源不能自动证明相机、语音识别或播报可用。如果应用未显示资源状态,就把它记录为不确定,而不是拿旧结果当作确认。
- 用新的简短样本测试最简单的输入路径. 先输入一句可校对且不含敏感信息的文字,隔离翻译与相机、麦克风环节。关闭网络后开始新请求。如果文字能翻译,再保留结果,分别测试原始输入模式。如果文字也无法完成,记录应用是否提示模型缺失、语种不支持、加载中或泛化错误;不要仅凭提示文案猜原因。
- 拆开检查采集、识别和输出阶段. 相机输入应确认应用拍到了新图,并尽量检查识别出的源文字,再评价译文。语音输入应检查权限、麦克风来源和是否产生新转写。语音播报要区分译文文字、TTS 语音是否可用以及音频是否实际播出。每次只改一个变量,避免某个单独环节的成功被误认为整条流程成功。
- 采取可逆恢复并记录升级信息. 仅使用应用文档说明的重试、资源修复或重新选择语言等动作;若操作会删除资源或本地历史,先向用户说明。新任务仍失败时,记录隐私安全的阶段、版本、语种、模式和错误类别,不记录私人文字或录音。通过独立核实的发行者支持渠道升级,并为重要方向保留非数字备选。
让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。
验收标准
- 事件记录包含应用和系统版本、语言方向、输入模式、资源状态、屏幕提示,以及最后产生新结果的阶段。
- 诊断基于新的离线任务,而不是缓存结果;每一步仅改变一个变量。
- 采集、识别、翻译、TTS 和播报问题分别记录,不混成笼统的“离线错误”。
- 恢复操作可逆;若要删除数据或下载资源,须先说明;同时保留安全的人工作业或纸质备选。
决策对照表
| 维度 | 选择或证据 | 解读方式 |
|---|---|---|
| 应用无法打开或完成首次设置 | 检查安装、账户、激活和首次运行要求 | 这是分发或初始化边界,尚不能说明本地翻译能否运行。 |
| 文字测试未产生新译文 | 检查准确语言对、资源就绪状态、加载状态和结果显示 | 将语言选择与推理过程区分;选择器出现某语种不代表请求已完成。 |
| 文字正常但相机或语音失败 | 逐项测试权限、采集、转写和该模式专用资源 | 文字路径可用并不能验证图像和音频路径。 |
| 译文出现但无法听到 | 检查 TTS 语种、语音数据、网络要求和音频输出路由 | 输出问题与输入采集、文本翻译是不同阶段。 |
| 应用要求联网或返回泛化错误 | 记录请求和最后成功阶段,再查询发行者说明的支持路径 | 不能只凭通用提示断定产品只能联网或某项缺陷已确定。 |
需要避免的失败模式
- 所有错误都只重试一次
- 没有复现就宣称某种修复有效
还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。
最小复现记录
| 层级 | 记录内容 |
|---|---|
| 设备 | 厂商、型号、芯片、内存档位、操作系统版本 |
| 软件 | 应用版本和 Git 提交号 |
| 模型 | 系列、变体、版本、格式、文件长度、摘要、量化方式 |
| 运行时 | 名称、版本、请求后端及实际后端证据 |
| 工作负载 | 样例版本、输入摘要、提示词摘要、输出策略 |
| 结果 | 完成、失败、取消、回退及保护隐私的诊断信息 |
发布检查表
- ☐ 主要搜索问题已回答,且没有未经支持的数字。
- ☐ 所有模型文件和运行时版本均已固定。
- ☐ 代表性任务和失败处理策略均有说明。
- ☐ 生命周期、取消、清理和回退均已测试。
- ☐ 用户内容与网络边界均有说明。
- ☐ 结论只适用于被记录的配置。
- ☐ 新增测试结果时链接到原始方法或证据。
来源与相关证据
- Cove 基准测试方法
- Android privacy and security
- Android Developers — 离线优先应用行为与恢复
- Android Developers — 网络状态与已验证连接
- Android Developers — NetworkCallback 生命周期与状态
中文部署与排错专题见。奇连 AI 端侧专题。
常见问题
翻译 App 没有网络时,最先应该检查什么?
先保留当前状态,再核对准确的语言方向和对应资源是否就绪。用一条新的短文字离线任务,把基本翻译与相机、麦克风和播报阶段分开。改变设置前记录应用版本和最后产生新结果的环节。
开了飞行模式就能证明应用完全离线吗?
飞行模式有助于测试普通网络访问,但旧译文或缓存画面不能证明新任务在本地完成。重新打开应用并创建新请求,记录从输入到输出的完整过程。如果首次设置或账户页面阻断测试,应说明离线任务未能完成,而不是宣布已验证。
要不要直接清除数据或重新安装翻译应用?
不应把它们作为第一步。清除数据或卸载可能删除语言资源、本地历史、设置和故障线索。先记录版本、语言对、模式、资源状态与屏幕提示,再按应用说明执行恢复操作。任何会删除数据或资源的动作都应事先说明。
文字离线可用,是否代表相机和语音也可用?
并不代表。相机采集与文字识别、麦克风采集与语音识别、文字转语音播报是不同阶段,权限和所需资源也可能不同。每种模式都应使用新的离线任务单独验证,结论只写实际测试通过的路径和方向。
怎样在不分享私人内容的情况下报告失败?
记录应用与系统版本、语言方向、模式、资源状态、最后成功阶段、时间和概括性的错误类别。尽可能使用合成短句或脱敏样本。除非你已决定通过核实过的渠道分享,不要把私人消息、医疗信息、位置、照片或录音放进支持记录。