From a83f85b765fb495b33a987c814276eb40b357600 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Sat, 8 Aug 2026 14:21:44 -0300 Subject: [PATCH 1/2] fix(modality-bridge): satisfy i18n quality gates --- config/quality/quality-baseline.json | 3 ++- src/i18n/messages/zh-TW.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/quality/quality-baseline.json b/config/quality/quality-baseline.json index 26f543c0e7..a197c32be8 100644 --- a/config/quality/quality-baseline.json +++ b/config/quality/quality-baseline.json @@ -92,9 +92,10 @@ "_rebaseline_2026_07_13_v3847_release": "39.3 -> 38.0 (-1.3, beyond the 0.5 eps). v3.8.47 cycle drift: the cycle merged ~45 PRs adding API routes (relay repair/free-pool #6909, backpressure #6590, combo context requirements #6907, services/usage endpoints) faster than openapi.yaml documentation; same class as the v3.8.34/v3.8.39 rebaselines. Documented follow-up: raise coverage next cycle via docs/openapi.yaml additions." }, "i18nUiCoverage.pct": { - "value": 99, + "value": 100, "direction": "up", "eps": 0.5, + "_tighten_2026_08_08_modality_bridge": "99 -> 100. Tighten required by the PR quality gate after the Modality Bridge UI keys were translated across all 42 non-English locales. CI collect-metrics on PR #9782 measured i18nUiCoverage.pct=100 with 0 ESLint warnings and 0 ESLint errors; locale dry-sync and UI coverage also report 100% with no missing keys or placeholders.", "_rebaseline_2026_07_04_v3844_release": "77.5 -> 76.8 (-0.7, beyond the 0.5 eps). v3.8.44 cycle drift surfaced only on the release PR (i18n-ui-coverage does NOT run on PR->release fast-gates). The cycle added ~1352 new UI keys to the en.json denominator (Discovery dashboard tab #5939, Bifrost/Mux embedded-service tabs #5817/#6034, proxy batch-ops #5918, fusion defaults #5598, tool-source toggle #5978, quota-row collapse #5977, CodeWhale/Crush CLI cards #5996/#5970, etc.) that the async i18n translation workflow has not yet back-filled (worst locales measure 76.8; __MISSING__ placeholders count as uncovered by design). Same shape and remedy as _rebaseline_2026_06_28_v3839_release. Recover via the i18n workflow next cycle; tighten with --require-tighten once translations land.", "_rebaseline_2026_06_28_v3839_release": "78.4 -> 77.5 (-0.9, beyond the 0.5 eps). v3.8.39 cycle drift surfaced ONLY on the release PR (i18n-ui-coverage does NOT run on PR->release fast-gates). The cycle added new UI strings (compression studio TOON A/B table, antigravity remote-login dashboard field, amber warning icon) to the en denominator faster than the 37 non-en locales were translated; those locales need `npm run i18n:run` with OMNIROUTE_TRANSLATION_API_KEY (unavailable locally) — same precedent as _rebaseline_2026_06_18_v3828_cycle_close + _quality_rebaseline_2026_06_20_ci_ratchet. Measured by CI collect-metrics (run 28317145160) = 77.5. My release-finalize tree changes no src/i18n/messages/*.json. Tightening is tracked as follow-up (run i18n:run with creds).", "_rebaseline_2026_07_13_v3847_release": "76.8 -> 75.5 (-1.3, beyond the 0.5 eps). v3.8.47 cycle drift: merged UI features added EN strings (relay repair UI #6909, combo builder #6907/#6991, capability override UI #6727) ahead of the 42-locale mirrors; same class as the v3.8.39/v3.8.44 rebaselines.", diff --git a/src/i18n/messages/zh-TW.json b/src/i18n/messages/zh-TW.json index bf41f2803a..0b498a3001 100644 --- a/src/i18n/messages/zh-TW.json +++ b/src/i18n/messages/zh-TW.json @@ -7168,7 +7168,7 @@ "modalityBridgeTimeoutMs": "超時 (毫秒)", "modalityBridgeMaxImages": "每個請求的最大圖片數量", "modalityBridgeCacheEnabled": "快取描述", - "modalityBridgeCacheEnabledDesc": "重用相同圖像的描述(SHA-256 鍵控,內存中)。", + "modalityBridgeCacheEnabledDesc": "重用相同圖像的描述(SHA-256 鍵控,記憶體中)。", "modalityBridgeCacheTtlMinutes": "快取 TTL(分鐘)", "modalityBridgeCacheMaxEntries": "快取最大條目數", "modalityBridgeStatsBridged": "橋接的", From 44eb33a256567b896cec2e1bbbd0a940f5b8df90 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Sat, 8 Aug 2026 14:25:16 -0300 Subject: [PATCH 2/2] fix(i18n): preserve canonical Chinese glossary terms --- src/i18n/messages/zh-CN.json | 4 ++-- src/i18n/messages/zh-TW.json | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/i18n/messages/zh-CN.json b/src/i18n/messages/zh-CN.json index 3ab55a124d..a9c52567f2 100644 --- a/src/i18n/messages/zh-CN.json +++ b/src/i18n/messages/zh-CN.json @@ -6027,7 +6027,7 @@ "overrideBaseUrlHint": "高级:将此内置供应商指向自定义端点。留空以使用默认值。", "apiProtocolLabel": "API 协议", "apiProtocolDefault": "OpenAI兼容(默认)", - "apiProtocolHint": "某些提供商通过多个协议发布相同的模型。除非您需要替代选项,否则请保留默认设置。", + "apiProtocolHint": "某些提供者通过多个协议发布相同的模型。除非您需要替代选项,否则请保留默认设置。", "bulkAddFormatHintCloudflare": "每行一个密钥。格式:name|accountId|apiKey(Cloudflare账户ID + API令牌)。", "lmarenaWebCookieHint": "打开arena.ai,登录,然后从网络请求中复制完整的Cookie请求标头。包含arena-auth-prod-v1.0 和arena-auth-prod-v1.1(如果存在更多分块也一并包含),最好附带cf_clearance。请勿仅粘贴空的arena-auth-prod-v1 cookie。可选:如果create-evaluation仍返回 403,可提供providerSpecificData.recaptchaV3Token。", "kimiOfficialSupporterBadge": "创始好友", @@ -9833,7 +9833,7 @@ "loopbackMismatchStep1Note": "将 {userPlaceholder} 替换为您的 SSH 用户名。保持此终端打开,直到连接显示为活动状态 — 需要两个端口:一个用于仪表板,另一个用于接收回调。", "loopbackMismatchStep2": "在此浏览器中,通过隧道重新打开 OmniRoute:", "loopbackMismatchStep3": "然后从新标签页再次连接 {providerName}。回调现在到达服务器,登录正常完成。", - "loopbackMismatchAlternative": "没有 SSH 访问权限?如果该提供商提供令牌导入选项卡,请改用令牌连接——该路径不使用回环回调。", + "loopbackMismatchAlternative": "没有 SSH 访问权限?如果该提供者提供令牌导入选项卡,请改用令牌连接——该路径不使用回环回调。", "step1OpenUrl": "步骤 1:在浏览器中打开此URL", "copy": "复制", "step2PasteCallback": "步骤 2:在此处粘贴回调URL或授权代码", diff --git a/src/i18n/messages/zh-TW.json b/src/i18n/messages/zh-TW.json index 0b498a3001..c11e7d27ed 100644 --- a/src/i18n/messages/zh-TW.json +++ b/src/i18n/messages/zh-TW.json @@ -2518,7 +2518,7 @@ "always": "始終" }, "ccDiscoveryInfoButton": "如何在 Claude Code 中啟用發現功能", - "ccDiscoveryInfoTooltip": "在 claude/<provider>/<model> 鏡像 ID 下廣告非 Claude 模型,以便 Claude Code 的網關模型發現可以列出它們。當全局啟用時,為所有客戶雙重目錄條目。", + "ccDiscoveryInfoTooltip": "在 claude/<provider>/<model> 鏡像 ID 下廣告非 Claude 模型,以便 Claude Code 的網關模型發現可以列出它們。當全域啟用時,為所有客戶雙重目錄條目。", "ccDiscoveryInfoLink": "開啟功能標誌", "ccOnboardingTitle": "gateway 模型發現的 settings.json", "ccOnboardingCopy": "複製", @@ -2927,7 +2927,7 @@ "hermesRoleApproval": "審批", "hermesRoleApprovalDesc": "安全與審批決策", "hermesRoleMcp": "MCP", - "hermesRoleMcpDesc": "MCP 伺服器工具調用", + "hermesRoleMcpDesc": "MCP 伺服器工具呼叫", "hermesRoleTitleGeneration": "標題生成", "hermesRoleTitleGenerationDesc": "會議標題生成", "hermesRoleMemoryQueryRewrite": "記憶體查詢重寫", @@ -5208,7 +5208,7 @@ "interceptionLoadError": "載入攔截設定失敗:{error}", "interceptionSaveError": "保存攔截設定失敗:{error}", "ccAliasSectionTitle": "在 Claude Code (claude/…) 中暴露", - "ccAliasSectionHint": "在 claude/<provider>/<model> 鏡像 ID 下廣告此提供者的模型,以便 Claude Code 的網關模型發現可以列出它們。默認為關閉 — 啟用此功能會使所有客戶的目錄條目翻倍。", + "ccAliasSectionHint": "在 claude/<provider>/<model> 鏡像 ID 下廣告此提供者的模型,以便 Claude Code 的網關模型發現可以列出它們。預設為關閉 — 啟用此功能會使所有客戶的目錄條目翻倍。", "ccAliasProviderLevelLabel": "提供者預設", "ccAliasModelOverridesLabel": "每個模型的覆蓋設定", "ccAliasModelOverrideAriaLabel": "{modelId} 的覆蓋設定", @@ -6027,7 +6027,7 @@ "overrideBaseUrlHint": "高級:將此內置提供者指向自定義端點。留空以使用預設值。", "apiProtocolLabel": "API 協議", "apiProtocolDefault": "OpenAI 相容(預設)", - "apiProtocolHint": "某些提供者在多個協議上發布相同的模型。除非您需要替代方案,否則請保留默認設置。", + "apiProtocolHint": "某些提供者在多個協議上發布相同的模型。除非您需要替代方案,否則請保留預設設置。", "bulkAddFormatHintCloudflare": "每行一個金鑰。格式:name|accountId|apiKey(Cloudflare賬戶ID + API令牌)。", "lmarenaWebCookieHint": "打開arena.ai,登入,然後從網路請求中複製完整的Cookie請求標頭。包含arena-auth-prod-v1.0 和arena-auth-prod-v1.1(如果存在更多分塊也一併包含),最好附帶cf_clearance。請勿僅粘貼空的arena-auth-prod-v1 cookie。可選:如果create-evaluation仍返回 403,可提供providerSpecificData.recaptchaV3Token。", "kimiOfficialSupporterBadge": "創始好友", @@ -6136,7 +6136,7 @@ "modelCatalogTtlMinimumError": "最小值為 {min} 毫秒", "modelCatalogTtlMaximumError": "最大值為 {max} 毫秒", "modelCatalogCacheTtl": "模型目錄快取 TTL", - "modelCatalogCacheTtlDescription": "模型目錄回應在刷新之前會緩存多久", + "modelCatalogCacheTtlDescription": "模型目錄回應在刷新之前會快取多久", "modelCatalogCacheTtlLabel": "模型目錄快取 TTL(毫秒)", "modelCatalogCacheTtlSaving": "儲存中...", "modelCatalogCacheTtlSave": "儲存", @@ -12284,7 +12284,7 @@ "partnerLinkNote": "合作伙伴連結", "dismissAriaLabel": "關閉" }, - "featureFlagExposeFunctionalGatewayMirrorsDescription": "在 /v1/models 上為那些其正規擁有者沒有有效憑證但有一個通過閘道且有有效憑證路由的模型廣告 / 鏡像 ID。警告:當全局啟用時,會為所有客戶端添加目錄條目。", + "featureFlagExposeFunctionalGatewayMirrorsDescription": "在 /v1/models 上為那些其正規擁有者沒有有效憑證但有一個通過閘道且有有效憑證路由的模型廣告 / 鏡像 ID。警告:當全域啟用時,會為所有客戶端添加目錄條目。", "radarPage": { "title": "雷達目錄", "subtitle": "由社群智慧增強的免費模型目錄",