refactor(i18n): U15 ApiAccessKeySection i18n 迁移 — 56 个 hash 乱码键清理为语义化 user.apiKey.* 键 + 组件全量接入 useTranslation

- 清理 56 个 apiaccesskey.s{hash} 乱码键为语义化 user.apiKey.* 键 (title/issue/rotate/revoke/descLabel 等)
- ApiAccessKeySection.tsx 全量接入 useTranslation() + t() 调用, UI 中文 57→0
- 复用 common.loading/common.cancel/common.save 通用键
- zh-CN/en-US 完全对齐 (7556 = 7556), 零 hash 键残留
- tsc -b=0, npm build✓ (18.23s), ESLint errors=0/any=0, go build=0, 17/17 测试通过
This commit is contained in:
attacker committed 2026-07-10 18:29:03 +08:00
1 parent a2edf6aa9f
commit 178c98dd37
3 files changed
+177 -171

No files matched your search

+58 -56
View File
@@ -8018,62 +8018,64 @@
"breadcrumbNav": "Breadcrumb Navigation"
},
"user": {
"apiaccesskey.s1a2b3c4d": "CI/CD Access Credential",
"apiaccesskey.s2b3c4d5e": "Long-term",
"apiaccesskey.s3c4d5e6f": "Unique per user, auto-referenced by deployment scripts, does not expire with login session.",
"apiaccesskey.s4d5e6f7g": "Issue Credential",
"apiaccesskey.s5e6f7g8h": "Credential String",
"apiaccesskey.s6f7g8h9i": "Hide",
"apiaccesskey.s7g8h9i0j": "Show",
"apiaccesskey.s8h9i0j1k": "Edit",
"apiaccesskey.s9i0j1k2l": "Rotate",
"apiaccesskey.s0j1k2l3m": "Revoke",
"apiaccesskey.s1k2l3m4n": "Description",
"apiaccesskey.s2l3m4n5o": "Not specified",
"apiaccesskey.s3m4n5o6p": "Key ID",
"apiaccesskey.s4n5o6p7q": "Issued At",
"apiaccesskey.s5o6p7q8r": "Expired",
"apiaccesskey.s6p7q8r9s": "{{days}} days remaining",
"apiaccesskey.s7q8r9s0t": "Valid until",
"apiaccesskey.s8r9s0t1u": "Valid until {{date}}",
"apiaccesskey.s9s0t1u2v": "Last used {{date}}",
"apiaccesskey.s0t1u2v3w": "Prefix",
"apiaccesskey.s1u2v3w4x": "Needs renewal or rotation",
"apiaccesskey.s2v3w4x5y": "No CI/CD access credential issued yet",
"apiaccesskey.s3w4x5y6z": "After issuing, use for Pipeline image updates, rolling restarts, etc.",
"apiaccesskey.s4x5y6z7a": "Issue Now",
"apiaccesskey.s5y6z7a8b": "Credential plaintext not cached locally; click 'Rotate' to re-issue.",
"apiaccesskey.s6z7a8b9c": "Usage Examples",
"apiaccesskey.s7a8b9c0d": "Update Image",
"apiaccesskey.s8b9c0d1e": "curl copied",
"apiaccesskey.s9c0d1e2f": "Please issue a credential first",
"apiaccesskey.s0d1e2f3g": "Rolling Restart",
"apiaccesskey.s1e2f3g4h": "Credential info updated",
"apiaccesskey.s2f3g4h5i": "Update failed",
"apiaccesskey.s3g4h5i6j": "Credential issued",
"apiaccesskey.s4h5i6j7k": "Saved to this browser, please copy now",
"apiaccesskey.s5i6j7k8l": "Issue failed",
"apiaccesskey.s6j7k8l9m": "Revoke Credential",
"apiaccesskey.s7k8l9m0n": "After revoking, all Pipeline/curl calls will fail. Continue?",
"apiaccesskey.s8l9m0n1o": "Revoke",
"apiaccesskey.s9m0n1o2p": "Credential revoked",
"apiaccesskey.s0n1o2p3q": "Revoke failed",
"apiaccesskey.s1o2p3q4r": "Rotate Credential",
"apiaccesskey.s2p3q4r5s": "Old credential will be invalidated immediately. Continue?",
"apiaccesskey.s3q4r5s6t": "Rotate",
"apiaccesskey.s4r5s6t7u": "Plaintext shown only once, please save carefully.",
"apiaccesskey.s5s6t7u8v": "Edit Credential",
"apiaccesskey.s6t7u8v9w": "Update description and expiry; credential string unchanged.",
"apiaccesskey.s7u8v9w0x": "Set description and expiry; save plaintext immediately after issuing.",
"apiaccesskey.s8v9w0x1y": "e.g. Jenkins pipeline, GitLab CI",
"apiaccesskey.s9w0x1y2z": "Valid until",
"apiaccesskey.s0x1y2z3a": "Save",
"apiaccesskey.s1y2z3a4b": "Save Credential Plaintext",
"apiaccesskey.s2z3a4b5c": "This is the only chance to view the full string; cannot be retrieved after closing.",
"apiaccesskey.s3a4b5c6d": "Access Credential",
"apiaccesskey.s4b5c6d7e": "Credential copied",
"apiaccesskey.s5c6d7e8f": "I've saved it",
"apiaccesskey.s6d7e8f9g": "Your access credential"
"apiKey": {
"title": "CI/CD Access Credential",
"longTerm": "Long-term",
"desc": "Unique per user, auto-referenced by deployment scripts, does not expire with login session.",
"issue": "Issue Credential",
"tokenLabel": "Credential String",
"hide": "Hide",
"show": "Show",
"adjust": "Edit",
"rotate": "Rotate",
"revoke": "Revoke",
"descLabel": "Description",
"descEmpty": "Not specified",
"keyIdLabel": "Key ID",
"createdLabel": "Issued At",
"expired": "Expired",
"daysLeft": "{{days}} days remaining",
"validity": "Valid until",
"validUntil": "Valid until {{date}}",
"lastUsed": "Last used {{date}}",
"prefix": "Prefix",
"needRenew": "Needs renewal or rotation",
"emptyTitle": "No CI/CD access credential issued yet",
"emptyDesc": "After issuing, use for Pipeline image updates, rolling restarts, etc.",
"issueNow": "Issue Now",
"cacheWarning": "Credential plaintext not cached locally; click 'Rotate' to re-issue.",
"examples": "Usage Examples",
"updateImage": "Update Image",
"curlCopied": "curl copied",
"copyDisabledTitle": "Please issue a credential first",
"restart": "Rolling Restart",
"updated": "Credential info updated",
"updateFailed": "Update failed",
"issued": "Credential issued",
"issuedDesc": "Saved to this browser, please copy now",
"issueFailed": "Issue failed",
"revokeTitle": "Revoke Credential",
"revokeDesc": "After revoking, all Pipeline/curl calls will fail. Continue?",
"revokeBtn": "Revoke",
"revoked": "Credential revoked",
"revokeFailed": "Revoke failed",
"rotateTitle": "Rotate Credential",
"rotateDesc": "Old credential will be invalidated immediately. Continue?",
"rotateBtn": "Rotate",
"issueDesc": "Plaintext shown only once, please save carefully.",
"adjustTitle": "Edit Credential",
"editDesc": "Update description and expiry; credential string unchanged.",
"createDesc": "Set description and expiry; save plaintext immediately after issuing.",
"placeholderDesc": "e.g. Jenkins pipeline, GitLab CI",
"validUntilLabel": "Valid until",
"saveBtn": "Save",
"saveTokenTitle": "Save Credential Plaintext",
"saveTokenDesc": "This is the only chance to view the full string; cannot be retrieved after closing.",
"accessTokenLabel": "Access Credential",
"credentialCopied": "Credential copied",
"saved": "I've saved it",
"placeholderToken": "Your access credential"
}
},
"logCenter": {
"saveQuery": "Save as Query",