feat(i18n): 分流规则页静态标签接单源 + 修 mobile 设置行模式 pill 语言

路由页此前静态标签硬编码中文,EN 模式混语。全部接进 strings.json 单源:
- 新增 26 个 routing* 产品 getter(6 语):代理模式/内置规则/国内直连/我的规则/
  添加规则/从文本导入/重置默认/最终/直连·走隧道·拒绝/域名后缀/GeoSite 规则集/返回设置…
  (复用 smartRoute;seg 三项 EN 取短词 Global/Smart/Direct 适配段宽)。
- app_text.dart +26 抽象声明;重生成 6 份 strings_*.dart;alias.json desktop +24 / mobile +19。
- markup 加 data-i18n;JS pill(直连/走隧道/拒绝、FINAL)统一改从生成的 I18N 单源取(_ri),
  与静态 pill 同源。JS-owned 的模式说明 rtModeNote 保留 _t 双语(不加 data-i18n)。
- desktop LAN 行(此前未接)补接 rr.lan/rr.lanSub + 新 routingForcedPill。
- 修 mobile 设置行「Routing rules」的模式 pill:缺 data-i18n → EN 显中文,补 setSmartRoute
  (en=Smart routing,与 desktop 一致)。

验收:l10n 重生成+analyze 0 issue、原型 0 unresolved、生成器零 diff、244 测试全绿、无红线词。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A79VtQA1BwTuQN1ThpvYpo
This commit is contained in:
wangjia
2026-07-27 11:09:03 +08:00
parent a78364ebec
commit 64b1ec10c2
11 changed files with 650 additions and 43 deletions
+48
View File
@@ -511,6 +511,54 @@ class StringsZh extends AppText {
@override
String get routingLanForced => '强制,不可关';
@override
String get routingForcedPill => '🔒 强制';
@override
String get routingProxyMode => '代理模式';
@override
String get routingModeGlobal => '全局代理';
@override
String get routingModeSmart => '智能分流';
@override
String get routingModeDirect => '全部直连';
@override
String get routingBuiltin => '内置规则';
@override
String get routingCnDirect => '国内直连';
@override
String get routingMyRulesOrdered => '我的规则 · 有序,首命中生效';
@override
String get routingMyRulesFirst => '我的规则 · 首命中生效';
@override
String get routingFinalLong => '最终(未命中任何规则)';
@override
String get routingFinalShort => '最终(未命中)';
@override
String get routingFinalFallback => 'FINAL 兜底';
@override
String get routingTypeDomainSuffix => '域名后缀';
@override
String get routingTypeDomainSuffixCi => '域名后缀 · CI 源';
@override
String get routingTypeDomainSuffixMirror => '域名后缀 · 镜像';
@override
String get routingTypeGeosite => 'GeoSite 规则集';
@override
String get routingActDirect => '直连';
@override
String get routingActProxy => '走隧道';
@override
String get routingActReject => '拒绝';
@override
String get routingForcedRow => '⚠ 该域名由系统强制走隧道,此规则不生效';
@override
String get routingAddRule => '添加规则';
@override
String get routingImport => '从文本导入';
@override
String get routingReset => '重置默认';
@override
String get routingBack => '返回设置';
@override
List<String> get days7 => const ['', '', '', '', '', '', ''];
@override
List<String> get featsFree => const ['仅 1 个基础节点', '每日 10 分钟时长', '使用前观看广告', '注册享 7 天免费试用'];