Skip to content

feat(i18n): 补齐 AI 回复/信用卡提醒/渠道名/深链本地化并全量补齐繁体 - #551

Closed
TNT-Likely wants to merge 4 commits into
mainfrom
fix/i18n-batch2
Closed

TNT-Likely wants to merge 4 commits into
mainfrom
fix/i18n-batch2

Conversation

@TNT-Likely

Copy link
Copy Markdown
Owner

摘要

批次 2(基于 #550 的 d225913):AI 对话回复、信用卡还款提醒、Android 通知渠道名、深链提示共 ~40 处用户可见硬编码中文接入 l10n;并全量补齐繁体中文(zh_TW)缺失的 235 个键。

批次 2 代码(cbda608)

  • AI 对话:processMessage 错误兜底与 AIResponse.billCards 成功文案走 l10n(不再中文兜底);agent 空回复「已完成。」由组合根注入——NativeToolAgentModel / AgentAppFacade 新增 emptyFinalText 参数,ai_chat_providers 按应用内语言传值
  • 信用卡还款提醒:标题/正文走 resolver(系统语言),新增带占位符键 creditCardReminderDueSoonTitle / creditCardReminderDueBody
  • Android 通知渠道:主渠道复用 reminderTitle / reminderDailyTitle,备用与截图识别渠道新增专用键;渠道名创建后不可改名——既有用户保留旧渠道名,新装生效
  • 深链提示:app_link_service 全部结果消息(21 处)按应用内语言取(复用 container 读 languageProvider)
  • ARB 新增 33 键(en+zh),zh 与原硬编码逐字一致,中文用户零漂移

繁体补齐(2c7caf2)

  • 补齐 zh_TW 全部 235 个缺失键:accountBalanceAdjustment / agentActivity / agentAssistant / agentAuthorization / agentMemory / agentPermissions / agentSuggestion / agentFollowUp / agentTool / aiChat / appLink / billCard / categoryIconGroup / creditCard / reminder / transactionCopy / voiceMicPermissionRestricted 等家族
  • 简转繁 + 台湾用语(設定/帳戶/佔比/彙總/回應/逾時/呼叫/資訊/自訂/頻道/裝置/儲存),术语与既有 2381 键对齐(記帳/帳本/「」引号)
  • 既有 zh_TW 翻译零改动;gen-l10n 后 zh_TW 未翻译数 = 0
  • ko 按约定忽略(449 缺失保持)

验证

  • flutter gen-l10n 通过;analyze 453 error = 既有基线(本次触及文件零 error/warning)
  • 测试:agent_message_visibility / agent_app_facade / ai_chat_service 共 90/90 通过
  • 批次 1 的英文横幅实测证据(Recording Reminder)见 feat(i18n): 本地化硬编码中文并全量补齐繁体中文 #550;验收报告 .docs/internationalization/i18n-fix-acceptance-2026-10-10.md

覆盖边界

.claude/skills/* 自 #539 起作为指向 .agents/skills/* 的符号链接入库,
runner 的 inside() 会拒绝一切符号链接,导致当前 main 上任何隔离 run
的源码快照都在构建前崩溃。快照目的只是应用源码,技能符号链接属于
贡献者工具,跳过并在 manifest 记录 skipped_symlinks 留痕,不削弱
inside() 的路径逃逸防护。
每日记账提醒的 5 处调度点(main.dart 恢复路径、reminder_providers 三处
开关/时间/完整设置、reminder_monitor_service 补偿路径)与语音记账的
麦克风受限提示原先硬编码中文,英文用户会收到中文通知/提示。

- 新增 lib/utils/app_localizations_resolver.dart:无 BuildContext 场景的
  两级 locale 匹配(en 兜底),模式与 widget 层 resolver 一致
- reminder_providers 注入 Ref,开关路径按应用内语言设置取文案;
  main.dart/monitor_service 无 context,跟随系统语言(已知局限同
  widget 层 resolver,注释说明)
- ARB 新增 reminderDailyBody、voiceMicPermissionRestricted(en+zh);
  zh 文案与原硬编码逐字一致,中文用户零漂移,标题复用现有
  reminderTitle(zh 即「记账提醒」)
- ko/zh_TW 按 AGENTS.md 约定不补译,回退机制不变
批次 2:AI 对话回复、信用卡还款提醒、Android 通知渠道名、深链提示
共 ~40 处用户可见硬编码中文接入 l10n。

- ai_chat_service:processMessage 错误兜底与 AIResponse.billCards 成功
  文案按调用方 l10n 取(无 l10n 时走 resolver,不再中文兜底)
- agent 空回复「已完成。」改由组合根注入:NativeToolAgentModel 与
  AgentAppFacade 增加 emptyFinalText 参数,ai_chat_providers 按
  应用内语言传值(构造期取值,语言切换后需重启,局限已注释)
- credit_card_reminder_providers:还款提醒标题/正文走 resolver
  (系统语言),新增带占位符键 creditCardReminderDueSoonTitle/Body
- notification_android / auto_billing_service:Android 渠道名、描述、
  ticker 全部本地化(主渠道复用 reminderTitle/reminderDailyTitle,
  备用与截图渠道新增专用键);既有用户保留旧渠道名,新装生效
- app_link_service:深链全部结果消息(~21 处)按应用内语言取
  (复用 container 读 languageProvider),新增 appLink* 键 23 个
- ARB 新增 33 键(en+zh),zh 与原硬编码逐字一致,中文用户零漂移
- 覆盖 accountBalanceAdjustment / agentActivity / agentAssistant /
  agentAuthorization / agentMemory / agentPermissions / agentSuggestion /
  agentFollowUp / agentTool / aiChat / appLink / billCard /
  categoryIconGroup / creditCard / reminder / transactionCopy /
  voiceMicPermissionRestricted 等家族
- 简转繁 + 台湾用语(設定/帳戶/佔比/彙總/回應/逾時/呼叫/資訊/自訂/
  頻道/裝置/儲存/檔案),术语与既有 2381 键对齐(記帳/帳本/「」引号)
- 既有 zh_TW 翻译零改动;gen-l10n 后 zh_TW 未翻译数 = 0
- ko 按用户指示忽略
@TNT-Likely

Copy link
Copy Markdown
Owner Author

提交已并入 #550(快进合并),验收包与报告统一在 #550 交付。

@TNT-Likely TNT-Likely closed this Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant