fix: update redemption code and Prime KYT copy(OK-57249)#12267
fix: update redemption code and Prime KYT copy(OK-57249)#12267yikZero wants to merge 101 commits into
Conversation
| const title = `${intl.formatMessage({ | ||
| id: ETranslations.prime_status_prime, | ||
| })} ${intl.formatMessage({ | ||
| id: ETranslations.prime_feature_receive_risk_monitoring__title, | ||
| })}`; | ||
|
|
||
| defaultLogger.prime.usage.primeReceiveKytIntroShown( | ||
| receiveKytIntroTrackingParams, | ||
| ); | ||
| Dialog.show({ | ||
| icon: 'ShieldCheckDoneOutline', | ||
| title: intl.formatMessage({ | ||
| id: ETranslations.prime_feature_receive_risk_monitoring__title, | ||
| }), | ||
| title, |
There was a problem hiding this comment.
Only the intro dialog prepends 'Prime' to the feature title — other usages unchanged
Type: Flag
The translation key prime_feature_receive_risk_monitoring__title is used in 6 other locations (primeFeatureIntroUtils.ts:98, KytRiskDetail/index.tsx:242, ReceiveRiskSupportedAssets.tsx:142, Protection/index.tsx:260,265) without the "Prime" prefix. This appears intentional — the auto-pop intro dialog brands the feature as a Prime perk, while settings pages and detail views use the bare feature name. Reviewer should confirm this asymmetry is desired.
| onekeyUserIdRef.current = onekeyUserId; | ||
|
|
||
| const showDialog = useCallback(() => { | ||
| const title = `${intl.formatMessage({ |
There was a problem hiding this comment.
当这个 KYT 引导弹窗在非英语 locale 下展示时,这里会把 Prime 和功能标题用固定空格直接拼成一条字符串。
这样翻译层无法决定完整句子的词序、分隔符和标点,19 个 locale 虽然都改了 copy,但标题这一段仍然不是可翻译的最终文案,部分语言会留下生硬或不一致的标题。
建议把这里改成一个完整的 i18n key,让各语言直接维护整句标题,而不是在代码里拼接两个片段。
OK-57249
Summary
Intent & Context
The OK-57249 discussion clarified that the shared redemption entry should use a single generic term instead of mixing reward-code and redemption-code wording. Slack discussion preference was to standardize the user-facing copy as redemption code.
During the same copy pass, the Prime receive KYT intro dialog felt abrupt because the dialog content did not clearly connect to Prime. The chosen approach keeps Prime in the dialog title only, avoiding repeated Prime wording in the description.
Design Decisions
Changes Detail
KYTIntroDialog.tsx: builds a dialog-only title from existing Prime and receive risk monitoring translations.Risk Assessment
Test plan
yarn i18n:pull:keychainnpx oxlint --tsconfig ./tsconfig.json --type-aware packages/kit/src/views/Setting/pages/Protection/KYTIntroDialog.tsx --deny-warningsyarn tsc:onlyyarn lint:stagedyarn tsc:staged