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:
@@ -511,6 +511,54 @@ class StringsKo 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일 무료 체험'];
|
||||
|
||||
Reference in New Issue
Block a user