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:
@@ -129,7 +129,31 @@
|
||||
"login.signupTitle": "tabRegister",
|
||||
"nav.routing": "routingRulesTitle",
|
||||
"set.routing": "routingRulesTitle",
|
||||
"set.routingSub": "routingRulesSub"
|
||||
"set.routingSub": "routingRulesSub",
|
||||
"rr.back": "routingBack",
|
||||
"rr.proxyMode": "routingProxyMode",
|
||||
"rr.modeGlobal": "routingModeGlobal",
|
||||
"rr.modeSmart": "routingModeSmart",
|
||||
"rr.modeDirect": "routingModeDirect",
|
||||
"rr.builtin": "routingBuiltin",
|
||||
"rr.cnDirect": "routingCnDirect",
|
||||
"rr.lan": "routingLanDirect",
|
||||
"rr.lanSub": "routingLanForced",
|
||||
"rr.forcedPill": "routingForcedPill",
|
||||
"rr.myRulesOrdered": "routingMyRulesOrdered",
|
||||
"rr.finalLong": "routingFinalLong",
|
||||
"rr.finalFallback": "routingFinalFallback",
|
||||
"rr.typeDomainSuffix": "routingTypeDomainSuffix",
|
||||
"rr.typeDomainSuffixCi": "routingTypeDomainSuffixCi",
|
||||
"rr.typeDomainSuffixMirror": "routingTypeDomainSuffixMirror",
|
||||
"rr.typeGeosite": "routingTypeGeosite",
|
||||
"rr.actDirect": "routingActDirect",
|
||||
"rr.actProxy": "routingActProxy",
|
||||
"rr.actReject": "routingActReject",
|
||||
"rr.forcedRow": "routingForcedRow",
|
||||
"rr.addRule": "routingAddRule",
|
||||
"rr.import": "routingImport",
|
||||
"rr.reset": "routingReset"
|
||||
},
|
||||
"mobile": {
|
||||
"brandName": "brand",
|
||||
@@ -274,6 +298,23 @@
|
||||
"redeemBtn": "redeemBtn",
|
||||
"navRouting": "routingRulesTitle",
|
||||
"rr.lan": "routingLanDirect",
|
||||
"rr.lanSub": "routingLanForced"
|
||||
"rr.lanSub": "routingLanForced",
|
||||
"rr.proxyMode": "routingProxyMode",
|
||||
"rr.modeGlobal": "routingModeGlobal",
|
||||
"rr.modeSmart": "routingModeSmart",
|
||||
"rr.modeDirect": "routingModeDirect",
|
||||
"rr.builtin": "routingBuiltin",
|
||||
"rr.cnDirect": "routingCnDirect",
|
||||
"rr.myRulesFirst": "routingMyRulesFirst",
|
||||
"rr.finalShort": "routingFinalShort",
|
||||
"rr.finalFallback": "routingFinalFallback",
|
||||
"rr.typeDomainSuffix": "routingTypeDomainSuffix",
|
||||
"rr.typeGeosite": "routingTypeGeosite",
|
||||
"rr.actDirect": "routingActDirect",
|
||||
"rr.actProxy": "routingActProxy",
|
||||
"rr.actReject": "routingActReject",
|
||||
"rr.addRule": "routingAddRule",
|
||||
"rr.import": "routingImport",
|
||||
"rr.reset": "routingReset"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user